歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> # Linux學習日志(二) 用戶

# Linux學習日志(二) 用戶

日期:2017/3/1 12:06:28   编辑:關於Linux
文件管理

文件管理類命令

ls,

查看:cat,more,less,tail,head,tac

復制:cp

移動:mv

刪除:rm

創建:touch

元數據屬性:stat

查看內容類型:file

文本編輯器:nano,vi

Linux的文件類型

普通文件:-,f

目錄文件:路徑映射d

鏈接文件(符號鏈接):軟連接l

設備文件:

字符設備:c,一次存取一個字符

塊設備:b

命名管道:p

fi,fo

套接字文件:s

Linux的時間戳

訪問時間:最近一次訪問的時間

修改時間:寫數據

改變時間:元數據改變的時間

ls 使用默認選擇當前目錄

-a:顯示所有文件,包含隱藏文件

-A:不現實.和..常見的通用路徑

--color:顯示顏色

-l:長格式顯示

文件類型 權限 硬鏈接數 屬主 屬組 最近一次的修改時間 文件名->原始文件

-d:顯示目錄自身的屬性,通常與-l同時使用

-r:實現逆序顯示

-R:遞歸顯示

-i:inode號,index node

-h:文件大小以人類易讀格式顯示

tree

#cd /etc/yum.repos.d/

#wget http://172.16.0.1/centos6.5.repo

#rm CenOS-Base.repo

#yum -y install tree

I

名稱解析 : name resolving

bash shell的特性之四:命令別名

clear 清屏

alias:當前shell中定義的所有別名:

任何隨進程而生的屬性,會在進程結束,屬性消失

alias 別名=‘原始命令’

unalias 別名 取消定義的別名

在命令前加\使用命令本身,而不是別名

查看純文本文件

file FILE..:查看文件內容的格式

cat:將文本連接起來顯示在標准輸出上

控制符 如換行符

-E --show-ends 顯示結束符$

-e:等於-vE

-v:顯示非打印符

-n:顯示每行按順序編號

-s:將多個連續的空白行合並顯示一個空白行

tac:逆序顯示文件

分屏顯示

more:只支持向後翻(文件尾部以後)

less:支持前後翻

head:

-n #:顯示前多少行

tail

-n # 顯示後多少行

-f:

echo命令的用法:

-e

\b:刪除前面的字符

\t:制表符

\v:垂直制表符

\n:換行符

\0NNN()

開始\033[# # 1

3前景色 顏色(1-7)

4背景色

結束\033[0m

-n:不為顯示內容自動換行

文件操作

cp copy

cp SRC DEST

假如SRC是一個文件:

如果目標是一個文件且目標存在:覆蓋

如果目標文件不存在:創建新文件

如果目標存在,且是個目錄:復雜源至目標目錄中,並保持原名

cp SRC ... DEST

假如SRC有多個文件:

如果目標存在,且是一個文件:復制無法進行

如果目標存在,且是一個目錄:復制各文件至目標目錄中,並保持原名

如果目標不存在:復制無法進行

假如SRC只有一個且是目錄:-r

如果目標是一個文件且目標存在:失敗

如果目標文件不存在:創建新目錄

如果目標存在,且是個目錄:復制源目錄到目標目錄中,並保持原名

cp命令的常用選項:

-r:遞歸

-i:提示,交互

-f:強制覆蓋

-a: -dr 保留所有的文件信息

-d:當源為連接文件時,復制鏈接文件本身,而非指向的源文件

-p:保持原有屬性

mv:

移動,剪切,與cp相近

可以直接移動目錄,不需要-r選項

rm:

移除,刪除非空目錄 rm -rf

touch:用來修改時間戳,創建空文件

-c:不創建空文件,只修改時間戳

-t:指定時間戳

-a:僅修改訪問時間

-m:僅修改修改時間

stat命令:顯示文件源數據信息,詳細信息

stat FILE

-t 指定特定時間

Linux編輯器

行編輯器:sed (使用於腳本)

全屏編輯器:nano,vi,vim

bashshell的特性五:globbing 文件名通配

通配符:

*:匹配任意長度的任意字符

?:匹配任意單個字符

[]:匹配指定字符范圍內的任意單個字符,不區分大小寫

[[:upper:]]:大寫字母

[[:lower:]]:小寫字母

[[:alpha:]]:所有字母

[[:digit:]]:所有數字

[[:alnum:]]:字母+數字

[[:space:]]:空格

[[:punct:]]:標點符號 特殊字符

[^]:匹配指定字符范圍外的任意單個字符

例如: 非數字[^0-9]

練習

練習一: 復制/var目錄下所有1開頭,以一個小寫字母結尾,且中間出現一位數字的文件或目錄至/tmp下

cp /var/l*?*[[:lower:]] /tmp

練習二: 復制/etc/目錄下以P開頭,中間跟了任意字符,並以d結尾的文件至/tmp/a目錄中

cp -r /etc/p*d /tmp/a

練習三:復制/etc/目錄下以P開頭,中間跟了4個任意字符,並以d結尾的文件至/tmp/a目錄中,如果a 不存在,先創建出來

cp -r /etc/p????d /tmp/a

練習四: 復制/etc/目錄下以任意一位數字開頭,並以非數字結尾的文件至/tmp/b目錄中

cp -r /etc/[0-9]*[^0-9] /tmp/b

練習五: 復制/etc/目錄下以非字母開頭,後面跟了一個字母及其他任何長度字符的文件至/tmp/c目中

cp -r /etc/[^[:alpha:]][[:alpha:]]* /tmp/c/

用戶和權限管理:

1.用戶是什麼?

用戶:資源獲取標識符,資源分配,安全權限模型的核心要素之一

密碼:來實現用戶認證的

2.沒有用戶,能否使用

能使用

/etc/passwd

加密方法:

對稱加密:如果加密、解密使用相同的密碼稱之為對稱加密

DES,3DES,AES

非對稱加密:DSA,RSA

單向加密:雪崩效應,定長輸出,不可逆

MD5:信息摘要 128bit定長輸出16個字符

SHA1:安全的哈希算法 160bit

CRC32:循環冗余校驗碼

密碼數據庫:/etc/shadow

6 sha512

1 MD5

$加密算法$8位鹽$亂碼

加密 : openssl passwd -1 -salt 12345678

輸入密碼 然後加密成功

組可以理解為一個用戶容器,裡面裝這角色

文件:

/etc/group

組名:密碼占位符:GID:用戶列表(附加組)

/etc/gshadow 密碼

安全上下文:

運行中的進程有其屬主和屬組:取決於進程的屬組和屬主

/etc/skel 默認復制文件地址

/etc/defauit/useradd 定義默認家目錄、環境配置文件目錄等

用戶管理命令

創建用戶:

useradd UserName

生成的屬性信息

/etc/passwd:

用戶名:x(密碼占位符):UID:GUID(基本組ID):用戶備注信息(多個以,隔開):家目錄:默認shell

/etc /shells:當前系統的安全shell列表

useradd:adduser

-u UID:指定UID

-g GID:指定GID,即用戶的基本組,但GID要事先存在

-G GID:指定用戶的額外組,但GID要事先存在

-d 目錄: 指定家目錄

-c 備注:備注

-s:shell:指定默認shell,應該指定使用/etc/shells文件中出現的shell

-m:創建用戶時,強制給用戶創建家目錄

-M:創建用戶時,但不創建家目錄

-D: 改變其默認shell

-r: 創建系統用戶 特點:id 1-499 不會為用戶創建家目錄 默認shell為/sbin/nologin

id Username :顯示用戶的id號

userdel:刪除用戶,默認會保留家目錄

userdel UserName

-r:一並刪除家目錄

groupadd GrpName

-g GID:創建組並為其指定GID

用戶類別

管理員:0

普通用戶:1-65535

系統用戶:1-499

登 陸用戶:500+

用戶組:

管理員組:

普通組:

以用戶為視角,組可以分為兩類:

基本組:顯示在/etc/passwd中GID字

段組,為用戶的基本組

額外組:附加組:/etc/group

設定用戶密碼:passwd

普通用戶:passwd

管理員:

改自己密碼:passwd

改其他用戶密碼:passwd UserName

-l:鎖用戶 用戶密碼前加兩個!

-u:解鎖

密碼安全性策略:足夠復雜

夠長、交叉應用數字、大寫字母、小寫字母和特殊字符中的至少三種

盡量避免使用易猜測的密碼:

定期更換:

/etc/shadow文件格式:

登陸名:加密密碼:最近一次的密碼修改時間(距離1970-1-1的時間):最短使用期限:最長使用期限:警告區間:非活動區間(登陸就要修改密碼):賬號的過期期限:預留段

-l: 鎖用戶

設定組密碼:gpasswd GroupName

修改用戶的屬性定義(chsh):

chsh:修改默認的shell

chfn:修改用戶注釋

usermod:跟useradd命令使用方法類似

-u UID:

-g GID:

-G GID:默認會覆蓋原有的附加組,如果要是添加,可以同時使用-a選項

-c string

-d new home 默認不會遷移用戶的家目錄,如果要遷移,同時使用-m選項

-s SHELL:

-l New_login_name:修改用戶登錄名稱

-e 過期期限

-f 非活動期限

-L:鎖定用戶賬號

-U:解鎖

如何修改組屬性定義:

groupmod:

-g GID

-n New Group 修改用戶的屬組

groupdel

gpasswd

修改賬號日期屬性:

chage:修改用戶的日期屬性

-E:距離1970-1-1號的時間天數,過了這個時間,賬號不可訪問

-I: 設置活動天數

-m:修改密碼最小使用時間

-M:修改密碼最長使用時間

-W:警告時間

查看用戶的相關信息:

id

-n 顯示名稱

-u 顯示UID

-g:顯示基本組ID

-G:顯示所有組ID

who 顯示當前登錄用戶

whoami:顯示當前終端登錄的用戶

su:Swith User

切換用戶

-l:登陸式切換

-c:不切換用戶,直接執行命令

練習

1.創建一個用戶mandriva,其中ID號為2002,基本組為distro(組ID為3003) 附加組為linux

useradd -u 2002 -g distro =G linux mandriva

2.創建一個用戶fedora,其全名為Fedora Community,默認為shell為tcsh

useradd -c "Fedora Community" -s /bin/tcsh fedora

3.修改mandriva的ID號為4004,基本組為Linux,附加組為distro和fedora

usermod -u 4004 -g linux -G distro,fedora

4.給fedora加密碼,並設定其密碼最短使用期限為2天最長為50天

passwd fedora

chage -m 2 -M 50 fedora

5.將mandriva的默認shell改為/bin/bash

usermod -s /bin/bash mandriva

chsh

答案不唯一

Copyright © Linux教程網 All Rights Reserved