用戶和組概念:
用戶賬戶用於在可以運行命令的不同人員和程序之間提供安全界限,構成了系統安全的基礎。
用戶賬戶有三種類型:超級用戶(root)、系統用戶和普通用戶。
系統的系統用戶賬戶供提供支持進程使用。這些進程(或守護進程)通常不需要以超級用戶身份運行。系統會爲他們分配非特權賬戶,允許他們確保其文件和其他資源不受彼此以及系統上普通用戶的影響。用戶無法使用系統用戶賬戶以交互方式登錄。
默認情況,系統使用etc/passwd文件存儲有關本地用戶的信息。
/etc/passwd示例:
1 該用戶(user01)的用戶名。
2 該字段始終爲x。
3 該用戶賬戶的uid號(1000)。
4 該用戶賬戶的主要組的GID號(1000)。
5 該用戶的真實姓名(user one)。
6 該用戶的主目錄(/home/user01)。這是shell啓動時的初始工作目錄,其中包含有用戶數據和配置設置。
7 該用戶的默認shell程序,會在登錄時運行(/bin/bash)。如果系統用戶不運行進行交互式扥估,該用戶可能會使用/sbin/nologin。
id命令顯示有關當前已登錄用戶的信息。查看其他用戶: id username。
查看文件所有者ls -l ,查看目錄所有者,ls -ld。
組:
組是需要共享文件和其他系統資源訪問權限的用戶集合。
默認情況下,系統使用/etc/group 文件存儲有關本地組的信息。
實例:
1 該組的組名稱(group01)。
2 過時的組密碼字段。該字段始終爲x。
3 該組的GID號(10000)。
4 屬於作爲補充組的該組成員的用戶列表(user01、user02、user03)。
主要組合補充組:
每個用戶有且只有一個主要組。通常,在創建新的普通用戶是,會創建一個與該用戶同名的新組。該組將用作新用戶的主要組,而該用於是這一用戶專用組的唯一成員。
用戶的補充組的成員資格由 /etc/group文件確定。
超級用戶,redhat linux中,root爲超級用戶,擁有一切權限,用於管理系統。
root切換到普通用戶,無需密碼 ,su命令切換。
su 或su -命令嘗試切換到root,需要密碼。
su僅以該用戶身份啓動shell,但使用的是原始用戶環境設置。 su - 會將shell環境設置爲如圖以該用戶重新登錄一樣。
sudo 命令,輸入當前賬戶的登錄密碼進行身份驗證,獲取root權限。
sudo 執行的所有命令都默認爲將日誌記錄到/var/log/secure中。
redhat 7 和8 中,wheel組的所有成員都可以使用sudo以任何用戶身份運行命令,包括root。
非管理員用戶賬戶能使用sudo來運行su命令,則可以從該賬戶運行sudo su -來獲取root用戶的交互式shell。
sudo -i,切換到root賬戶並運行該用戶的默認shell以及關聯的shell登錄腳本。sudo -s,只運行shell。
sudo的主配置文件爲/etc/sudoers。
管理本地用戶賬戶:
usermod 常見選項:
usermod選項: | 用法 |
-c | 將用戶的真實姓名添加到註釋字段 |
-g | 爲用戶賬戶指定主要組 |
-G | 爲用戶賬戶指定補充組的逗號分隔列表。 |
-a | 利用-G選項將補充組添加到用戶當前的組成員集合中方,而不是將補充組集合替換爲新的集合。 |
-d | 爲用戶賬戶指定的主目錄。 |
-m | 將用戶的主目錄移動到新的位置。必須與-d 選項搭配使用。 |
-s | 爲用戶賬戶指定特定的登錄shell。 |
-L | 鎖定用戶賬戶 |
-U | 解鎖用戶賬戶。 |
useradd username 會創建一個新用戶,會設置用戶的主目錄和賬戶信息,並未username創建一個專用組。
userdel username 命令從/etc/passwd中刪除username的詳細信息,但保留用戶的主目錄不變。
userdel -r username 命令從/etc/passwd中刪除username的詳細信息,同時刪除用戶的主目錄。
passwd username 命令未username設置初始密碼,或更改現有密碼。
root用戶可以將密碼設爲任何值。
UID範圍:
UID 0 是root。
UID 1-200是系統用戶,由紅帽靜態分配給系統進程。
UID 201-999也是系統用戶,供文件系統中沒有自己的文件的系統進程使用。
UID 1000+ 是可供分配給普通用戶的範圍。
管理本地組:
groupadd命令用於創建組。 不帶選項,groupadd會在創建組時使用/etc/login.defs文件中指定範圍內的下一個可用GID。
-g 選項指定要使用的組的特定GID。
-r 選項使用/etc/login.defs文件中所列有效系統GID範圍內的GID創建系統組。/etc/login.defs中的SYS_GID_MIN和SYS_GID_MAX配置項定義系統GID的範圍。
groupmod 命令更改現有組的屬性。-n選項指定組的新名稱。-g選項可指定新的GID。
groupdel 命令可刪除組。現有用戶的主要組無法刪除。
usermod -g命令來更改用戶的主要組。
管理用戶密碼
加密的密碼存儲在只有root用戶才能讀取的獨立 /etc/shadow文件中。
示例行:
1 此密碼的所屬賬戶的用戶名。
2 已加密的密碼。
3上次更改密碼的日期。其設置爲自1970年1月1日起的天數,並按UTC時區計算。
4 可以更改密碼前的最少天數。
5 必須更改密碼前的最多天數。
6 密碼即將到其的警告期。
7 密碼過期後保持活動的天數。
8 賬戶到期時間。其設置值爲自1970年1月1日起的天數,並按UTC時區計算。
9,預留字段,通常爲空。
密碼驗證:
用戶嘗試登錄是,系統在/etc/shadow中查詢用戶的條目,將用戶的salt和鍵入的未加密密碼組合,再使用指定的哈希算法加密。如結果與已加密的哈希匹配,則用戶鍵入了正確的密碼。
chage 命令調整密碼期限策略。-m(最短期限),-M(最長期限),-W(警告週期),-I(失效期限), -l顯示用戶的密碼期限詳情,-d 0 強制用戶再下一次登錄時更新其密碼,
chage -E 2019-08-05 user03命令使user03用戶的賬戶於2019-08-05到期。
編輯/etc/login.defs文件中的密碼期限配置項,以設置默認的密碼期限策略。PASS_MAX_DAYS設置密碼的默認最長期限。PASS_MIN_DAYS設置密碼的默認最短期限。PASS_WARN_AGE設置密碼的默認警告週期。默認的密碼期限策略的任何修改僅對新用戶有效。
usermod -L 選項鎖定賬戶。
nologin shell 把用戶的登錄shell設爲/sbin/nologin。可以防止交互方式使用系統。