基於Red Hat Enterprise Linux 7.5 Linux中的root就是存在於所有類UNIX系統中的超級用戶,持有最高管理許可權,能添加/刪除用戶、開關機、關閉或開啟硬體或者系統服務等,並且root的操作無法被阻擋。 Linux中root為什麼叫root,不是因為名字叫root,而是U ...
基於Red Hat Enterprise Linux 7.5
Linux中的root就是存在於所有類UNIX系統中的超級用戶,持有最高管理許可權,能添加/刪除用戶、開關機、關閉或開啟硬體或者系統服務等,並且root的操作無法被阻擋。
Linux中root為什麼叫root,不是因為名字叫root,而是UID為0(在Linux中每一個用戶的UID都是唯一的)
UID為0:系統最高管理員用戶root。
UID為1~999:系統用戶,Linux為了避免某個服務被入侵以至於被提權到整個server,預設服務程式會有獨立的系統用戶負責運行,將入侵破壞的範圍降到最低。
UID為1000~:普通用戶,所有UID大於1000的用戶都是普通用戶,管理員創建的用戶UID都是從1000開始。
為了方便管理,Linux增加了GID的概念,即將一個區域或者職權的用戶加入到一個用戶組中,在企業生產環境中能有效管控員工的安全風險問題,避免員工接觸到非自身職權內的數據。
Linux創建用戶的時候會自動創建一個同名用戶組,稱為基本用戶組;如果以後該用戶加入其他用戶組,稱之為拓展用戶組;一個用戶只有一個基本用戶組,但可以擁有多個拓展用戶組。
常用命令
useradd
用於創建新的用戶,useradd [參數] username
參數
-u:後面接的是UID,即“useradd -u 987 username”(意為創建一個UID為987,名字叫username的用戶)
-e:後見接的是日期,格式為YYYY-MM-DD,即賬號的失效時間,這會寫入shadow的第八個欄位
-g:指定一個初始的基本用戶組(該用戶組必須事先在系統中創建並存在),該組的GID會被放置到/etc/passwd的第四個欄位
-G:指定一個或者多個拓展用戶組(該用戶組必須事先在系統中創建並存在),這個會修改/etc/group內的相關資料
-U:創建一個和用戶同名的組,並將用戶添加到組裡面
-N:不創建與改用戶同名的基本用戶組,而是將用戶添加到-g指定的用戶組裡面
-r:創建一個系統用戶,這個用戶的UID有限制(參考/etc/login.defs)
-s:指定該用戶的預設shell解釋器
-f:後面接shadow的第七欄位項目,密碼過期後,該賬戶被徹底禁用之前的天數,0表示立即禁用,-1表示永不禁用(密碼只會過期但登陸時強制重新設定密碼)
-M:強制不要建立該用戶家目錄(系統賬號預設值)
-m:強制建立改用戶用戶家目錄(一般賬號預設值)
-d:(不使用系統預設值)指定某個目錄成為家目錄,必須為絕對路徑
groupadd
用於創建用戶組,groupadd [參數] groupname
參數:
-g:創建的同時給這個group指定GID
-r:創建系統group
chage
用於修改賬號和密碼有效期限,chage [參數] username
參數
-l(小寫L):列出該賬號的詳細密碼參數
-d:後面接日期,上一次修改密碼的時間,格式為YYYY-MM-DD
-m:後面接天數,兩次密碼之間間隔的最小天數,即除了root操作的情況下,用戶修改自己的密碼必須間隔的最短時間(如果設定為3,那麼3天內用戶無法自行修改密碼),如果為0表示任何時間都可以修改
-M:後面接天數,兩次密碼之間間隔的最大天數
-W:用戶密碼到期前會接到天數警告
-I(大寫i):後面接天數,密碼失效日期
-E:後面接日期,賬號失效時間,格式為YYYY-MM-DD
passwd
用於修改用戶密碼,過期時間、認證信息等,passwd [參數] username
參數:
-l(小寫L):鎖定該用戶密碼,禁止其登陸(root使用su切換到該用戶除外)
-u:解除該用戶密碼鎖定,允許登陸
-S:顯示改用戶密碼是否被鎖定以及密碼的加密演算法
-d:刪除該用戶的密碼,即可以用空密碼登陸
-e:強制該用戶下次登陸時修改密碼
-n:接天數,多少天內不可修改密碼
-x:接天數,多少天內必須修改密碼
-w:警告密碼過期時間
-i:接天數,密碼失效天數
usermod
用戶修改用戶的屬性,usermod [參數] username
參數
-c:填寫賬戶的備註信息
-d、-m:-d和-m參數必須連用,指定用戶新的家目錄並將原有家目錄數據轉移至新目錄(-d是指定目錄,-m是移動文件)
-g:變更所屬用戶組(該用戶組必須事先在系統中創建並存在)
-G:變更拓展用戶組(多個組之間用逗號隔開,沒有空格)註意:如果該用戶本身在一個組裡面(假定為group9),但-G後接參數group1,group2,group3......內沒有該組,那麼該用戶就會從該組(group9)裡面刪除,可以使用-a參數避免這個問題(-a參數是添加,如果不加-a那麼就是設定)
-a:將用戶添加到拓展用戶組中,該參數必須和-G連用,但不是-G的必要參數
-f:密碼過期之後,賬戶被徹底禁用前的天數
-e:後接日期,賬戶被徹底禁用的時間,格式為YYYY-MM-DD
-L:鎖定用戶禁止其登陸
-U:解鎖用戶並允許其登陸
-s:變更預設shell,如果為空即為系統預設登陸shell
-l(小寫L):修改用戶名
-u:修改該用戶的UID
-o:-u的可選參數,-o可以使得-u修改的UID可以是非唯一值(非負值)
userdel
用於刪除用戶,userdel [參數] username
參數
-f:強制刪除用戶賬戶,即使該賬戶目前仍處於登陸狀態,將強制刪除用戶郵箱以及家目錄,即使其他用戶也在瀏覽使用該用戶的郵箱和家目錄;如果/etc/login.defs中的USERGROUP_ENAB為yes,那麼如果有與該用戶同名的組也一併刪除,即使是其他用戶的基本組。該參數危險性極高,甚至可能將破壞系統穩定性。
-r:用戶家目錄中的文件將隨著用戶家目錄和用戶郵箱一起刪除,其他位置的文件需要手動搜索並刪除,該賬戶的郵箱在login.defs中的MAIL_DIR中有定義。