摘要:本文主要學習了在Linux系統中管理用戶和用戶組的命令。shell
useradd命令能夠用來建立新用戶。bash
1 [root@localhost ~]# useradd [選項] 用戶名
1 -u num:num是數字,手工指定用戶的UID,注意num的範圍不要小於500。 2 -d name:name是目錄名,手工指定用戶的主目錄。主目錄必須寫絕對路徑,並且若是須要手工指定主目錄,則必定要注意權限。 3 -c description:description是描述,手工指定/etc/passwd文件中各用戶信息中第五個字段的描述性內容,可隨意配置。 4 -g name:name是目錄名,手工指定用戶的初始組。通常以和用戶名相同的組做爲用戶的初始組,在建立用戶時會默認創建初始組。一旦手動指定,則系統將不會在建立此默認的初始組目錄。 5 -G name:name是目錄名,指定用戶的附加組。咱們把用戶加入其餘組,通常都使用附加組。 6 -s shell:shell是腳本文件名,手工指定用戶的登陸Shell,默認是/bin/bash。 7 -e date:date是日期,指定用戶的失效日期,格式爲「YYYY-MM-DD」。也就是/etc/shadow文件的第八個字段; 8 -o:容許建立的用戶的UID相同。 9 -m:創建用戶時強制創建用戶的家目錄。在創建系統用戶時,該選項是默認的。 10 -r:建立系統用戶,也就是UID在1~499之間,供系統程序使用的用戶。因爲系統用戶主要用於運行系統所需服務的權限配置,所以系統用戶的建立默認不會建立主目錄。
1 [root@localhost ~]# useradd sam -G root 2 [root@localhost ~]# cat /etc/passwd 3 root:x:0:0:root:/root:/bin/bash 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 ... 6 sam:x:1000:1000::/home/sam:/bin/bash 7 [root@localhost ~]# cat /etc/group 8 root:x:0:sam 9 bin:x:1: 10 ... 11 sam:x:1000: 12 [root@localhost ~]#
使用passwd命令設置密碼。學習
1 [root@localhost ~]# passwd [選項] 用戶名
1 -S:查詢用戶密碼的狀態,也就是/etc/shadow文件中此用戶密碼的內容,僅root用戶可用。 2 -l:暫時鎖定用戶,該選項會在/etc/shadow文件中指定用戶的加密密碼串前添加「!」,使密碼失效,僅root用戶可用。 3 -u:解鎖用戶,和-l選項相對應,僅root用戶使用。 4 -d:刪除已命名賬號的密碼,僅root用戶可用。 5 -k:保持身份驗證令牌不過時。 6 -f:強制執行操做。 7 -n num:num爲數字,設置該用戶修改密碼後,多長時間不能再次修改密碼,對應/etc/shadow文件中各行密碼的第四個字段。 8 -x num:num爲數字,設置該用戶的密碼有效期,對應/etc/shadow文件中各行密碼的第五個字段。 9 -w num:num爲數字,設置用戶密碼過時前的警告天數,對應/etc/shadow文件中各行密碼的第六個字段。 10 -i date:date爲日期,設置用戶密碼失效日期,對應/etc/shadow文件中各行密碼的第七個字段。
1 [root@localhost ~]# passwd sam 2 更改用戶 sam 的密碼 。 3 新的 密碼: 4 無效的密碼: 密碼未經過字典檢查 - 過於簡單化/系統化 5 從新輸入新的 密碼: 6 passwd:全部的身份驗證令牌已經成功更新。 7 [root@localhost ~]#
usermod命令用於修改用戶信息。ui
1 [root@localhost ~]# usermod [選項] 用戶名
1 -c comment:comment是說明信息,修改用戶的說明信息,即修改/etc/passwd文件目標用戶信息的第五個字段。 2 -d name:name是目錄名,修改用戶的主目錄,即修改/etc/passwd文件中目標用戶信息的第六個字段,須要注意的是,主目錄必須寫絕對路徑。 3 -e date:date是日期,修改用戶的失效曰期,格式爲"YYYY-MM-DD",即修改/etc/shadow文件目標用戶密碼信息的第八個字段。 4 -g name:name是組名,修改用戶的初始組,即修改/etc/passwd文件目標用戶信息的第四個字段(GID)。 5 -u num:num是數字,修改用戶的UID,即修改/etc/passwd文件目標用戶信息的第三個字段(UID)。 6 -G name:name是組名,修改用戶的附加組,其實就是把用戶加入其餘用戶組,即修改/etc/group文件。 7 -l name:name是用戶名,修改用戶名稱。 8 -L:臨時鎖定用戶(Lock)。 9 -U:解鎖用戶(Unlock),和-L對應。 10 -s shell:shell是腳本文件名,修改用戶的登陸Shell,默認是/bin/bash。
1 [root@localhost ~]# usermod -G root lisa 2 [root@localhost ~]# cat /etc/group 3 root:x:0:lisa 4 bin:x:1: 5 ... 6 [root@localhost ~]#
userdel命令功能很簡單,就是刪除用戶的相關數據。此命令只有root用戶才能使用。加密
1 [root@localhost ~]# userdel [選項] 用戶名
1 -r:表示在刪除用戶的同時刪除用戶的家目錄。
1 [root@localhost ~]# userdel lisa 2 [root@localhost ~]# cat /etc/passwd 3 root:x:0:0:root:/root:/bin/bash 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 ... 6 [root@localhost ~]#
id命令能夠查詢用戶的UID、GID和附加組的信息。spa
1 [root@localhost ~]# id 用戶名
1 [root@localhost ~]# id root 2 uid=0(root) gid=0(root) 組=0(root) 3 [root@localhost ~]#
su命令是最簡單的用戶切換命令,經過該命令能夠實現任何身份的切換,包括從普通用戶切換爲root用戶、從root用戶切換爲普通用戶以及普通用戶之間的切換。code
普通用戶之間切換以及普通用戶切換至root用戶,都須要知曉對方的密碼,只有正確輸入密碼,才能實現切換;從root用戶切換至其餘用戶,無需知曉對方密碼,直接可切換成功。blog
1 [root@localhost ~]# su [選項] 用戶名
1 -:當前用戶不只切換爲指定用戶的身份,同時所用的工做環境也切換爲此用戶的環境(包括PATH變量、MAIL變量等),使用-選項可省略用戶名,默認會切換爲root用戶。 2 -l:同-的使用相似,也就是在切換用戶身份的同時,完整切換工做環境,但後面須要添加欲切換的使用者帳號。 3 -p:表示切換爲指定用戶的身份,但不改變當前的工做環境,即不使用切換用戶的配置文件。 4 -m:和-p同樣。 5 -c command:command爲命令,僅切換用戶執行一次命令,執行後自動切換回來,該選項後一般會帶有要執行的命令。
1 [root@localhost ~]# su - sam 2 上一次登陸:四 7月 11 08:43:12 CST 2019pts/0 上 3 [sam@localhost ~]$ su - 4 密碼: 5 上一次登陸:四 7月 11 09:06:21 CST 2019pts/2 上 6 [root@localhost ~]#
groupadd命令用來添加用戶組。ip
1 [root@localhost ~]# groupadd [選項] 組名
1 -g n:n是數字,指定組ID。 2 -r:建立系統羣組。
1 [root@localhost ~]# groupadd test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1001: 7 [root@localhost ~]#
能夠使用gpasswd命令給羣組設置一個羣組管理員,代替root完成將用戶加入或移出羣組的操做。io
1 [root@localhost ~]# gpasswd [選項] 組名
1 :選項爲空時,表示給羣組設置密碼,僅root用戶可用。 2 -A user1,...:將羣組的控制權交給user1,...等用戶管理,也就是說,設置user1,...等用戶爲羣組的管理員,僅root用戶可用。 3 -M user1,...:將user1,...加入到此羣組中,僅root用戶可用。 4 -r:移除羣組的密碼,僅root用戶可用。 5 -R:讓羣組的密碼失效,僅root用戶可用。 6 -a user:將user用戶加入到羣組中。 7 -d user:將user用戶從羣組中移除。
1 [root@localhost ~]# gpasswd -M sam test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1001:sam 7 [root@localhost ~]#
groupmod命令用於修改用戶組的相關信息。
1 [root@localhost ~]# groupmod [選項] 組名
1 -g n:n是數字,修改組ID。 2 -n name:name是組名,修改組名。
1 [root@localhost ~]# groupmod -g 1002 test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1002: 7 [root@localhost ~]#
groupdel命令用於刪除用戶組。
1 [root@localhost ~]# groupdel 組名
1 [root@localhost ~]# groupdel test 2 [root@localhost ~]# cat /etc/group 3 root:x:0:sam 4 bin:x:1: 5 ... 6 [root@localhost ~]#