手工刪除用戶
手工刪除用戶試驗:手工刪除,如果可以正常建立用戶,證明用戶刪除干凈。
/etc/passwd /etc/shadow /etc/group /etc/gshadow /home/user1 /var/spool/mail/user1 郵箱
useradd 命令
useradd 選項 用戶名選項:
-u 550 指定 UID -g 組名 指定初始組 不要手工指定 -G 組名 指定附加組,把用戶加入組,使用附加組 -c 說明 添加說明 -d 目錄 手工指定家目錄,目錄不需要事先建立 -s shell /bin/bash.
[root@iZbp143t3oxhfc3ar7jey0Z skel]# useradd -u 550 -g lamp1 -G root -d /home/lamp1 -c "test user" -s /bin/bash lamp1
[root@iZbp143t3oxhfc3ar7jey0Z skel]# grep "lamp1" /etc/passwd /etc/shadow /etc/group /etc/passwd:lamp1:x:550:1003:test user:/home/lamp1:/bin/bash /etc/shadow:lamp1:!!:18339:0:99999:7::: /etc/group:root:x:0:lamp1 /etc/group:lamp1:x:1003:
useradd 默認值
useradd 添加用戶時參考的默認值文件主要有兩個,分別是/etc/default/useradd 和/etc/login.defs
1)/etc/default/useradd
[root@iZbp143t3oxhfc3ar7jey0Z skel]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes [root@iZbp143t3oxhfc3ar7jey0Z skel]#
挨個解釋下:
GROUP=100
這個選項是建立用戶的默認組,也就是說添加每個用戶時,用戶的初始組就是 GID 為 100 的這個用戶組。目前我們采用的機制私有用戶組機制。
HOME=/home
這個選項是用戶的家目錄的默認位置,所以所有的新建用戶的家目錄默認都在/home/下。
INACTIVE=-1
這個選項就是密碼過期后的寬限天數,也就是/etc/shadow 文件的第七個字段。如果是天數,比如 10 代表密碼過期后 10 天后失效;如果是 0,代表密碼過期后立即失效;如果是-1,則代表密碼永遠不會失效。這里默認值是-1,所以所有新建立的用戶密碼都不會失效。
EXPIRE=
這個選項是密碼失效時間,也就是/etc/shadow 文件的第八個字段。也就說用戶到達這個日期后就會直接失效。當然這里也是使用時間戳來表示日期的。默認值是空,所以所有新建用戶沒有失效時間,永久有效。
SHELL=/bin/bash
這個選項是用戶的默認 shell 的。/bin/bash 是 Linux 的標志 shell,所以所有新建立的用戶默認都具備 shell 賦予的權限。
SKEL=/etc/skel
這個選項就是定義用戶的模板目錄的位置,/etc/skel/目錄中的文件都會復制到新建用戶的家目錄當中。
CREATE_MAIL_SPOOL=yes
這個選項定義是否給新建用戶建立郵箱,默認是創建,也就是說所有的新建用戶系統都會新建一個郵箱,放在/var/spool/mail/下和用戶名相同。
2)/etc/login.defs
[root@iZbp143t3oxhfc3ar7jey0Z skel]# grep -v '#' /etc/login.defs MAIL_DIR /var/spool/mail PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 UID_MIN 1000 UID_MAX 60000 SYS_UID_MIN 201 SYS_UID_MAX 999 GID_MIN 1000 GID_MAX 60000 SYS_GID_MIN 201 SYS_GID_MAX 999 CREATE_HOME yes UMASK 077 USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512 [root@iZbp143t3oxhfc3ar7jey0Z skel]#
MAIL_DIR /var/spool/mail
這行指定了新建用戶的默認郵箱位置。比如 user1 用戶的郵箱是就是/var/spool/mail/user1。
PASS_MAX_DAYS 99999
這行指定的是密碼的有效期,也就是/etc/shadow 文件的第五字段。代表多少天之后必須修改密碼,默認值是 99999。
PASS_MIN_DAYS 0
這行指定的是兩次密碼的修改間隔時間,也就是/etc/shadow 文件的第四字段。代表第一次修改密碼之后,幾天后才能再次修改密碼。默認值是 0。
PASS_MIN_LEN 5
這行代表密碼的最小長度,默認不小於 5 位。但是我們現在用戶登錄時驗證已經被 PAM 模塊取代,所以這個選項並不生效。
PASS_WARN_AGE 7
這行代表密碼修改到期前的警告天數,也就是/etc/shadow 文件的第六字段。代表密碼到底有效期前多少天開始進行警告提醒,默認值是 7 天。
UID_MIN 500
UID_MAX 60000
這兩行代表創建用戶時,最小 UID 和最大的 UID 的范圍。我們 2.6.x 內核開始,Linux 用戶的 UID最大可以支持 2的32次方這么多,但是真正使用時最大范圍是 60000。還要注意如果我手工指定了一個用戶的
UID 是 550,那么下一個創建的用戶的 UID 就會從 551 開始,哪怕 500-549 之間的 UID 沒有使用(小於 500 的 UID 是給偽用戶預留的)。
GID_MIN 500
GID_MAX 60000
這兩行指定了 GID 的最小值和最大值之間的范圍。
CREATE_HOME yes
這行指定建立用戶時是否自動建立用戶的家目錄,默認是建立
UMASK 077
這行指定的是建立的用戶家目錄的默認權限,因為 umask 值是 077,所以新建的用戶家目錄的權限是 700
[root@iZbp143t3oxhfc3ar7jey0Z home]# ll total 8 drwx------ 2 lamp1 lamp1 4096 Mar 18 22:45 lamp1 drwx------ 2 test1 test1 4096 Mar 13 13:28 test1 [root@iZbp143t3oxhfc3ar7jey0Z home]#
USERGROUPS_ENAB yes
這行指定的是使用命令 userdel 刪除用戶時,是否刪除用戶的初始組,默認是刪除。
ENCRYPT_METHOD SHA512
這行指定 Linux 用戶的密碼使用 SHA512 散列模式加密,這是新的密碼加密模式,原先的 Linux只能用 DES 或 MD5 方式加密