Linux 學習筆記04丨Linux的使用者和使用者組管理
阿新 • • 發佈:2020-11-27
Chapter 3. 使用者和使用者組管理
由於Linux系統是一個多使用者多工的分時作業系統,任何一個要使用系統資源的使用者,都必須首先向系統管理員申請一個賬號,然後以該賬號身份進入系統。
3.0 使用者與使用者組相關資訊
- 使用者名稱:代表使用者賬號的字串,最好不好包含
.
、-
、+
開頭,不能含義:
。 - 口令:存放加密後的使用者口令字,真正的加密後的使用者口令字存放在
/etc/shadow
檔案中,而在/etc/passwd
檔案的口令欄位只存放一個特殊的字元,如'x'
或'*'
。 - 使用者標識號:一般而言,它與使用者名稱是一一對應,但若幾個使用者名稱對應的使用者標識號是一樣的,系統內部將把它們視為同一個使用者,但它們可以擁有不同口令、不同主目錄及不同的登入Shell等。
- 註釋性描述:存放的是一段任意的註釋性描述文字。
使用者的基本屬性存放在
/etc/passwd
檔案中,使用者組的所有資訊都存放在/etc/group
檔案中。
3.1 使用者賬號的管理
以下指令,若遇到這類提示,一般需要管理員的許可權,即
$ sudo ....
3.1.0 切換與檢視
-
檢視使用者的id:
$ id [使用者名稱]
-
⭐️切換使用者的身份:
$ su [選項] [使用者名稱]
常用選項:
-
-
:代表連帶使用者的環境變數一同切換。普通使用者切換至root使用者需要輸入密碼;root使用者切換普通使用者無需密碼。
-
3.1.1 新增新的使用者賬號
語法格式為:
$ useradd 選項 使用者名稱
選項有:
-
-d
:指定使用者的家目錄,若此目錄不存在,則需同時使用-m
選項建立主目錄。 -
-c
:(commend)指定一段註釋性描述 -
-g
:指定使用者所屬的使用者組 -
-G
:指定使用者所屬的附加組 -
-s
:指定使用者的登入Shell -
-u
:指定使用者的UID
執行許可權:root
$ sudo useradd -s /bin/sh -g group -G adm,root Nami
#新建使用者Nami,登入Shell為/bin/sh,屬於group使用者組(作為主組),又屬於adm和root使用者組
增加使用者賬號就會在
/etc/passwd
檔案中為該新使用者增加一條記錄,同時更新其他系統檔案如/etc/shadow
,/etc/group
等。
3.1.2 管理使用者的密碼
語法格式為:
$ passwd 選項 使用者名稱
選項有:
-
-l
:暫時鎖定使用者,使其不能登入 -
-u
:解鎖使用者 -
-S
:查詢使用者密碼的密碼狀態
執行許可權:root
修改使用者密碼:
#root使用者可修改任何使用者的密碼
$ sudo passwd Zoro
#普通使用者只能修改自己的密碼,同時命令會詢問普通使用者的原口令
$ sudo passwd
3.1.3 修改使用者的資訊
語法:
$ usermod 選項 使用者名稱
修改使用者賬號即是根據實際情況更改使用者的有關屬性。
執行許可權:root
選項:(基本上與 useradd
命令對應選項一致)
-u [UID]
:修改使用者的UID號-c [使用者說明]
:修改使用者的說明資訊-G [組名]
:修改使用者的附加組-l [新使用者名稱稱]
:修改使用者的名稱
$ usermod -s /bin/ksh -d /home/z -g developer Sam
3.1.4 刪除使用者賬號
語法:
$ userdel 選項 使用者名稱
常用選項為:
-r
:將使用者的主目錄一同刪除
$ userdel -r tom
#此命令刪除使用者tom在系統檔案中(如/etc/passwd,/etc/shadow等)的記錄,同時刪除使用者的主目錄
3.2 使用者組的管理
每個使用者均有使用者組,系統可對一個使用者組中的所有使用者進行集中管理。
使用者屬於與它同名的使用者組,該使用者組在建立使用者時同時建立了。
3.2.1 增加新的使用者組
語法:
$ groupadd 選項 使用者組
可使用的選項:
-g
:指定新使用者組的組標識號(GID);-o
:一般與-g
選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同
$ groupadd -g 101 group2
3.2.2 修改使用者組
語法:
$ groupmod 選項 使用者組
可使用的選項:
-g
:為使用者組指定新的組標識號。-o
:一般與-g
選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同-n
:將使用者組的名字改為新名字
$ groupmod -g 10000 -n group3 group2
#組group2的標識號改為10000,且組名修改為group3
3.2.3 刪除使用者組
語法:
$ groupmod 使用者組