linux 用戶及用戶組管理

創建組:
$sudo addgroup ccache

創建用戶:
$sudo useradd ccache -g ccache -M

創新wfz用戶並創建HOME目錄,指定用戶組爲ccache
$sudo useradd wfz -g ccache -m

增加已存在用戶到指定組
$sudo adduser $USER ccache

$sudo adduser dbh ccache
$sudo adduser paul ccache
$sudo adduser wfz ccache

顯示用戶ID及組信息:
~$ id
uid=1001(dbh) gid=1001(dbh) groups=115(admin),1001(dbh)
$ cat /etc/group
ccache:x:1002:dbh,paul,wfz

1. 用戶和用戶組的管理:

Linux的多用戶概念是指多個用戶同時可以使用這個系統。

(1)用戶帳號文件——passwd

Passwd是一個文本文件(每一行標識1個用戶),定義了系統的用戶帳號,該文件位於“/etc”目錄下。文件中包含了一個系統帳戶列表,存放了每個賬戶一些有用的信息,如用戶ID,組ID,主目錄,shell等等(用“:”分隔開來)。只定義了用戶帳號,而不保存口令(用“x”表示,如果沒有 sun::則表示沒有密碼)。真正的密碼存放在Shadow文件中,普通用戶根本不能讀,加密後的密文無法讀到就可以提高用戶帳號的安全性。

例如:

[root@sun root]# head /etc/passwd

root:x:0:0:root:/root:/bin/bash 表示有7個字段:登錄名:有無口令:用戶ID:組ID:賬戶備註信息:用戶Home目錄:登錄時用戶shell的名稱(超級用戶有權限修改)

(2)用戶口令文件——shadow

每行定義了一個用戶信息,行中各字段用:分開,爲進一步提高安全性,口令文件存放用戶已經加密的口令:*,特殊符號

[root@sun root]# head /etc/shadow

登錄名:加密的口令(用*或其他特殊字符表示):上次更改口令距離1970.1.1的天數:口令更改後不可更改的天數:口令更改後必須再更改的天數(有效期):口令失效前警告用戶的天數:口令失效後距帳號被查封的天數:帳號被封時距1970.1.1的天數:保留未用。

(3)用戶組帳號文件——group

用戶組:邏輯的組織用戶帳號的集合的方式,用戶允許在其組內共享文件,系統每個文件都有一個用戶和附屬的用戶組。使用“ls -l”命令可以查看每個文件的屬性和組。

[root@sun root]# head /etc/group

root:x:0:root,tom,mary (組名:組加密口令:GID:組成員列表(用,隔開的每個組用戶名))

(4)用戶組口令文件——gshadow

用於定義用戶組口令,用戶組管理員信息。該文件只有超級用戶root纔可以讀取

每行記錄信息:

[root@sun root]# head /etc/gshadow

用戶組:用戶組加密口令:組管理員帳號(管理員有權進行增刪帳號):組成員列表

2. 用戶和用戶組賬戶維護的命令:

(1)增加用戶賬戶:useradd 用戶名

useradd –g 組名 用戶名 指定該用戶所使用的私有組名,默認是與用戶帳號同名的私有組。

useradd –D [-g group][-b base][-s shell][-f inactive][-e expire] 用於顯示和設置useradd該命令所使用的默認值。

例如:#useradd sun //建立用戶帳號

#tail -l /etc/passwd //查詢passwd中添加的用戶賬戶的信息

#tail –l /etc/shadow

#ls /home //查看所建立帳號的主目錄

(2)修改用戶帳號屬性:usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G][-l][-s][-u][用戶帳號]

(3)刪除用戶帳號:userdel [-r][用戶帳號] //如果不加參數則只刪除用戶帳號,不刪除文件,否則兩者都刪除。

userdel [-r][用戶帳號] //-r用來刪除帳號登入目錄和目錄中所有文件

舉例:#grep sun /etc/passwd //查詢用戶帳號sun是否存在

#userdel sun //刪除用戶帳號sun

#grep sun /etc/passwd //再次查詢用戶帳號sun是否存在

#ll –d /home //查詢用戶sun主目錄是否存在

#userdel –r sun //刪除用戶的同時,刪除其工作主目錄

(4) 增加用戶組帳號:groupadd [-r][組帳號]

【注意】帳號ID唯一,數值不可爲負,預設最小值不得小於500,且每增加一個,組帳號ID逐次自增1。其中-r參數是用來建立系統帳號的。0~499是給系統帳號準備的。

舉例:#groupadd magicSun //建立組賬戶magicSun

#grep magicSun /etc/group //查詢group文件中magicSun組賬戶是否建立

#groupadd –r sysWang //建立系統組賬戶sysWang

#grep sysWang /etc/group //查詢group文件中sysWang系統組賬戶是否建立

(5)修改組帳號:groupmod [-g ][-n][羣組名稱]

其中-o表示重複使用羣組識別碼

(6)刪除組帳號:groupdel [羣組名稱]

【注意】必須先刪除組中的用戶才能刪除該組

(7)口令維護:passwd [-s][-l][-u][-d][用戶名] 超級用戶可以爲每一位新增的用戶設置口令,普通用戶只能用不帶參數的passwd命令來修改自己的口令。其中參數-s表示用於查詢指定用戶帳號的狀態,-l用戶鎖定帳號的口令,-u解鎖帳號口令,-d刪除指定帳號的口令。

(8)組用戶成員維護:將一個賬戶添加到組、或將一個賬戶從組中刪除、將一個賬戶設爲組管理員。

添加用戶到組:gpasswd –a 用戶帳號名 組帳號名

從組中刪除用戶:gpasswd –d用戶帳號名 組帳號名

設置用戶爲組管理員:gpasswd –A 組管理員用戶列表 用戶組

(9)用戶和組的狀態命令:

id [選項] [用戶名稱] 用於顯示用戶當前UID,gid以及所屬羣組的組列表

[選項]參數有:

-g :顯示用戶所屬羣組的id

-G:顯示用戶所屬附加羣組的id

-n:顯示用戶所屬羣組或附加羣組的名稱

-r:顯示實際ID

-u:顯示用戶ID

whoami 用於顯示登錄者自身的名稱(=id -un)

su [-flmp] [-][-c ][-s][用戶帳號] //用來將當前用戶轉換爲其他用戶身份,暫時變更自己的登錄身份,用其他人的身份來登錄系統。前提是必須知道對方的口令。其中參數-c表示執行完指定的指令後恢復原來的身份。-f適用於csh和tsch,使shell不用去讀取啓動文件。-表示改變身份時也同時變更工作目錄,以及 HOME,SHELL,USER,LOGNAME,此外也會變更PATH環境變量。-m,-p 變更身份時不變更環境變量。-s 指定要執行的shell。若不指定要變更的用戶賬戶,那麼預設爲root超級用戶。

groups [用戶名稱] 用於顯示指定用戶所屬的組,若未指定用戶則顯示當前用戶所屬組

發佈了14 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章