- 使用者的分類
- 關於使用者的操作
- 新增使用者useradd
- 設定使用者的屬性usermod
- 設定使用者的密碼passwd
- 刪除使用者userdel
- 使用者許可權控制sudo
- 關於使用者組的操作
Linux 是一個多使用者多工的分時作業系統,為了對檔案和資源進行更好的許可權管理,產生了使用者和組。在Linux中,每個使用者都有一個唯一的使用者標識號UID,每個組也有一個唯一的組標識號GID。使用者可以屬於一個或多個組。
使用者的分類
-
超級使用者:也稱為 root 使用者,是系統的管理員,擁有對系統的完全控制許可權。
-
普通使用者:大多數的使用者都屬於此類,使用系統來完成日常任務。
-
服務使用者:專門用於執行系統服務的,比如Web伺服器、資料庫伺服器等,通常被用來限制服務的許可權。
還有其他的為了系統正常工作所必需的使用者,比如虛擬使用者、系統使用者等。
在Linux中,使用者賬號、密碼、使用者組資訊和使用者組密碼均是存放在不同的檔案中。
- 使用者賬號檔案
/etc/passwd
,每行定義一個使用者賬號資訊,每行由7個欄位組成,欄位之間用 : 分隔
root:x:0:0:root:/root:/bin/bash
# 賬號名稱:密碼:UID:GID:個人資料:主目錄:Shell
- 使用者密碼檔案
/etc/shadow
,每行定義了一個使用者密碼資訊,行中各欄位用 : 隔開
root:$6$C86UcMH5uLEF1cuZ$gFTarzTT8RTy/9SPzJeA0gHIyH78ZgmkWvF14pR6thjdgqSQtr4RuoL4f87Hcfb.5Ux2lrDVFAkgUTkKiSMWh1::0:99999:7:::
# 登入名:加密口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌
- 使用者組賬號檔案
/etc/group
,每行定義了一個組資訊,行中各欄位用 : 隔開
root:x:0:
# 組名:組密碼:gid:成員列表
- 使用者組密碼檔案
/etc/gshadow
,每行定義了一個組密碼資訊,行中各欄位用 : 隔開
root:*::
# 組名:組密碼:組管理員:組成員
關於使用者的操作
新增使用者useradd
使用者組分為兩種:
- 基本組:建立賬戶時,若沒有指定賬戶所屬的組,系統會建立一個和使用者名稱相同的組,這個組就是基本組。
- 附加組:可以容納多個使用者,組中的使用者都具有組所擁有的權利。
建立一個使用者:
sudo adduser username
常用選項:
-
-m 建立使用者的同時,自動建立使用者的主目錄
-
-s 用於設定使用者的使用的shell,如果設定 -s /bin/nologin 則表示使用者不能使用命令列
-
-u 用於設定使用者uid,預設是自增的,透過該命令可以自定義,但要注意必須是1000+且不能重複
-
-g 設定使用者的基本組,可以是gid也可以是組名稱。組必須得存在
-
-G 設定使用者的附加組,可以是gid也可以是組名稱。組必須得存在
設定使用者的屬性usermod
常用選項:
-
-L 設定密碼鎖定,禁止使用者登入
-
-U 解鎖使用者賬戶,允許使用者登入
-
-l new_login 修改使用者的登入名
-
-s shell 修改使用者的登入shell
比如:
sudo usermod -s /bin/bash smileleooo
# 修改使用者smileleooo的登入shell
設定使用者的密碼passwd
常用選項:
-
-l 鎖定使用者賬戶,鎖定賬戶後,使用者將無法登入
-
-u 解鎖被鎖定的使用者賬戶
-
-d 禁用密碼,使使用者無法使用密碼登入,通常與 -l 選項一起使用
-
-e 強制使用者在下次登入時更改密碼
-
-S 顯示使用者密碼的狀態資訊
比如:
sudo passwd -S root
# 顯示root使用者密碼的狀態資訊
刪除使用者userdel
刪除一個使用者:
sudo userdel smileleooo
這將會刪除名為smileleooo的使用者賬戶。但是預設不會刪除與使用者相關的檔案和目錄。
sudo userdel -r smileleooo
這樣就會連同使用者的主目錄一起刪除。
使用者許可權控制sudo
sudo 允許普通使用者以超級使用者(root)的許可權執行命令。/etc/sudoers
檔案檔案定義了哪些使用者可以使用 sudo 命令以及可以執行哪些命令。
sudo檔案中對許可權的描述,每一行定義了一個使用者或使用者組的授權資訊,包括使用者名稱、主機名(或 ALL 代表所有主機)、以及授權的命令。
比如:
smileleooo ALL = (root) /usr/bin/apt-get
# 允許smileleooo使用者以root的身份執行apt-get命令
臨時提權:可以在命令前加上 sudo 臨時提升許可權,而不必切換到超級使用者身份,一般需要使用者輸入密碼驗證使用者身份。
sudo的常用命令:
-
sudo -l :列出當前使用者可以執行的命令
-
sudo -u 使用者名稱 許可權命令 :以指定使用者的身份執行需要許可權的命令
-
sudo -b 命令 :讓命令在後臺執行
關於使用者組的操作
建立使用者組 groupadd
-
-r 表示新增系統使用者,它的預設id是1-999
-
-g 指定使用者組id
修改使用者組屬性 groupmod
-
-g 修改使用者組id
-
-n 修改使用者組名稱
新增/刪除組成員 gpasswd
-
-a 新增單使用者
-
-d 刪除使用者
-
-M 可同時新增多個使用者
刪除組賬戶 groupdel
- groupdel 組名稱
被刪除的組若是基本組,則必須先刪除引用該基本組的使用者,然後再刪除該基本組。
若有錯誤,歡迎指正!o( ̄▽ ̄)ブ