1、UID和GID
Linux是多用戶多任務操作系統, 允許多個用戶同時登錄Linux系統, 使用系
統資源。每個使用Linux資源的用戶都有一個用戶名,Linux使用UID(UserlD)來識別該用戶。root爲Linux系統管理 員的用戶名,UID爲0,
root對Linux系統擁有完全權限,因此使用root用戶登錄時,所有操作應格
外小心。
Linux還使用用戶組的概念來管理具有相同屬性的用戶。一個用戶可以屬於
多個用戶組,一個用戶組可以包含多個用戶。Linux使用GID (GrouplD)
來識別用戶組,root組的GID爲0。
2.用戶與用戶組相關文件
(1) /etc/passwd
/etc/passwd文件存儲 與用戶賬戶相關的信息,root用戶的賬戶信息在passwd文件中如下所示,其中冒號作爲各部分的分隔符:
root: x: 0: 0: root: /root: /bin/bash
從左至右各部分含義如下:
root:用戶名
x:密碼佔位,實際密碼存儲在/etc/shadow中,passwd文件中並沒有密碼
第1個0:用戶的UID,root用戶UID爲0
第2個0:用戶所屬組GID,root用戶 屬於root組,root組的GID爲0
root:對該用戶的說明,用於幫助理解該用戶
/root:用戶家目錄(主目錄),root用戶的家目錄是/root
/bin/bash:用戶的shell程序,Linux支持多 種shell程序,通常可以登錄用戶均使用/bin/bash作爲shell程序
(2) /etc/shadow
/etc/shadow文 件存儲與用戶密碼相關的信息,root用戶的密碼相關信息如下所示, 其冒號作爲各部分的分隔符:
root: $6$ShyBnHXD6i8s TslU$ynTcqRosu47jpwqduyQptxLg7qakMeV8hu8U3lqmI/PR81nc/9lyIllRM7aE7nwil1X.jm25
VCpEWcMsd0H0.: 16701: 0: 99999: 7: : :
從左至右各部分含義如下:
root:用戶名
$6$ShyBnHXD6i8sTslU$yn' TcqRosu47jpwqduyQptxLg7qakMeV8hu8U3IQmI/PR81nc/9lylclIRM7aE7nwi1X.jm25VCpEWcM
sd0H0..加密後的root用戶密碼
16701:密碼最近修改日期,該日期用距離UNIX時間1970年1月1日的天數來表示
0:密碼最短有效天數,表示密碼至少使用多少天,0表示無限制
99999:密碼最長有效天數,99999表示永久有效
7:密碼失效前警告天數,即在密碼還有7天失效時發出警告
(3) /etc/group
/etc/group/文件存儲與用戶組相關的信息,root用戶組的相關信息如下所
示,其中冒號作爲各部分的分隔符:
root: x: 0: user1
從左至右各部分含義如下:
root:用戶組名
x:用戶組密碼,通常不使用
0:組ID (GID) ,root用戶組的GID爲0
user1: 加入該組的普通用戶,說明user1已加入到root用戶組,擁有root組權限。
3、(1)增加用戶命令useradd
useradd命令用於在系統中增加用戶其基本法如下:
[root@server ~]# useradd user 在系統中增加用戶user
將新增一個名爲user的用戶,同時也將新增一個名爲user用戶組,
該用戶組中只有一個user用戶,同時將自動創建/home/user/目錄作爲該
用戶的主目錄。該命令將自動在/etc/passwd、 /etc/shadow、 /etc/group
等文件中寫入與該用戶和用戶組相關的缺省信息。
在創建 用戶時也可以使用參數指定該用戶與賬戶相關的信息,其主要參數如下:
-C:指定該用戶的說明信息,默認該說明信息爲空
-d: 指定該用戶的主目錄(家目錄)
-e:指定用戶賬戶過期日期
-g:指定用戶基本用戶組
-G:指定用戶附加組
-S:指定用戶登錄後的shell
-U: 指定用戶的UID
其用法如下:
[root@server ~]# useradd user2 -C testuser -d /user2 -e 2020-04-08 -g root -U 1100 -G user1
該命令 新增用戶user2,用戶說明爲testuser, 主目錄指定爲/user2,賬戶過期日期爲2020年4月8日,基本組爲root組,附加組爲user1組,UID爲1100。
(2)修改用戶賬戶命令usermod
如果在創建用戶時, 沒有指定用戶賬戶的相關信息,在使用過程也可以使
用usermod命令對用戶賬戶的相關信息進行修改。usermod命令可以使用
參數和useradd基本相同,使用方法也相同,只是-d參數有一點不同,如下
所示。
[root@server ~]# usermod -d /home/testuser user2 #修改user2家目錄爲
/home/testuser
使用useradd時-d參數指定的目錄會自動創建,而使用usermod時不會自動
創建目錄,需要手動創建目錄/home/testuser
(3)修改用戶密碼命令passwd
鎖定用戶賬戶
passwd命令 還可以用於鎖定用戶賬戶,其用法如下:
[root@server ~]# passwd -| user2 鎖定user2賬戶
命令執行結果
passwd:操作成功
[root@server ~]# grep user2 /etc/shadow #查看user2在/etc/shadow文件中信息
user2: !!$6$5gqU87Oj$jfLHSTHpYNvpobTtZdU3Cj5FOnMWjpGm961hDcgQZa2hLs2Fg
VLzjPFGWg. 3agHpgp8xbd8Cz0zyY80NByJ2K1: 17430: 0: 9999: 7: : 17532:
密碼前的!符號,表示密碼鎖定用戶不能登錄
解鎖用戶賬戶
[root@server ~]# passwd -u user2 #解鎖user2
解鎖用戶user2的密碼。
命令執行結果
passwd: 操作成功
[root@server ~]# cat /etc/shadow| grep user2 #查看user2在/etc/shadow文件中信息
user2: $6$5gq∪87Oj$jfLHSTHpYNvpobTtZdU3Cj5FOnMWjpGm961hDcgQZa2hLs2Fg
VLzjPFGWg.3agHpgp8xbd8Cz0zyY80NByJ2K1: 17430: 0: 9999: 7: : 17532:
密碼前的!符號消失,表示用戶密碼鎖定解鎖,用戶可以登錄。
(4)刪除用戶命令userdel
userdel命令 用於刪除用戶賬戶,其基本用法如下:
[root@server ~]# userdel user2 刪除用戶user2
[root@server ~]# userdel -r user2 刪除用戶user2及與user2相關的所有文檔
(5) 切換用戶命令su
su用於切換用戶,其基本用法如下:
[root@server ~]# su user1 #切換用戶爲user1
[root@server ~]# Su #切換用戶爲root, su不加用戶名默認爲切換到root
[root@server ~]# su - user1 使用user1的shell成爲登錄shell
在su命令中, 沒有“一”只是切換身份, 如果要退出該身份,使用命令exit;加
“-"表示切換整個shell環境,可以理解爲切換得更徹底一些,如果要退出登錄環境可以使用命令logout。
(6)與用戶組相關命令
常用的與用戶組相關命令的基本用法如下:
[root@server ~]# groupadd group1 #增加名爲group1的用戶組
[root@server ~]# gpasswd -a user1 group1 #將用戶user1加入到group1中
正在將用戶"user1"加入到"group1"組中
[root@server ~]# gpasswd -d user1 group1 將用戶user1從group1中刪除
[root@server ~ ]# groupdel group1 #刪除用戶組group1
4、使用命令查看其賬戶信息:
[root@server ~]# grep user2 /etc/passwd 查看/etc/passwd文件中user2賬戶信息
user2: x: 1100: 0: testuser: /user2: /bin/bash
[root@server ~ ]# grep user2 /etc/shadow
查看/etc/shadow文件中user2密碼信息
user2: !!: 17430: 0: 99999: 7: : 17532: 設置密碼,還不能夠登錄
[root@server ~]# grep user2 /etc/group 查看/etc/group文件中user2的附加組信息
user1: x: 1000: user2
5、文件權限解析
在文件的詳細信息中, 包含不同用戶對該文件的訪問權限信息 ,和該文件
的所屬用戶、用戶組信息,以目錄文件dir的詳細信息爲例,分析其訪問權
限
r:讀權限 w:寫權限 x:執行權限 -:無對應權限
drwx r-x r-x. root root
文件所屬用 文件所屬用戶 其他用戶對文件有 所屬用戶 所屬組
用戶對該文件有 組隊文件有讀和執行的 讀和執行的權限
讀寫執行權限 權限
6、修改文件權限命令chmod
Chmod:u用戶的權限,g用戶組的權限,o修改其他用戶的權限,a修改所有用戶的權限。
數字修改:rwx數字依次爲421
7、修改所有者chown -R將所有字目錄的文件所有者改爲
Chown user1:group1 chowndir 將文件的所有者改爲user1,所屬組改爲group1