使用useradd命令不接其他參數來創建一個新的用戶castiel,會新增用戶信息至/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow文件,此外創建用戶家目錄/home/castiel,郵件文件/var/spool/mail/castiel。
[root@localhost ~]# ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow /home/castiel/ /var/spool/mail/castiel
-rw-r--r--. 1 root root 471 Sep 11 05:19 /etc/group
----------. 1 root root 384 Sep 11 05:19 /etc/gshadow
-rw-r--r--. 1 root root 922 Sep 15 04:50 /etc/passwd
----------. 1 root root 618 Sep 15 04:50 /etc/shadow
-rw-rw----. 1 castiel mail 0 Sep 11 05:19 /var/spool/mail/castiel
/home/castiel/:
total 0
現實情況下,我們需要對用戶的密碼、賬戶有效期等進行特殊化處理。
先來看看默認創建時的信息(注意是/etc/passwd和/etc/shadow)
[root@localhost ~]# tail -n1 /etc/passwd /etc/shadow
==> /etc/passwd <==
castiel:x:500:500::/home/castiel:/bin/bash
==> /etc/shadow <==
castiel:!!:17423:0:99999:7:::
按照冒號分割原則,依次將/etc/passwd、/etc/shadow分爲p1-7和s1-9。
修改各列參數命令
p1:usermod -l NEW-NAME castiel (最好配合-d -m 一起使用,最好使用groupmod 同時修改組名,使用該項修改名稱,mail不需要另外修改)
p3:usermod -u UID castiel
p4:usermod -g GID castiel
p5:usermod -c "comments" castiel
p6:usermod -d /NEW-DIR -m castiel
p7:usermod -s SHELL castiel
s1:修改p1時一起修改
s2:passwd castiel | passwd -d castiel(刪除密碼)
s3:passwd castiel (顯示的是更改密碼的時間,只有更改時間變可能變)
passwd -e castiel(使賬戶立即失效,強迫用戶更改密碼!)
s4:passwd -n N castiel
s5:passwd -x N castiel
s6:passwd -w N castiel (-w warning 到期前警告天數)
s7:passwd -i N castiel
s8:usermod -e MM/DD/YY castiel(時間格式也可以是YYYY-MM-DD)
注:passwd命令只有root用戶可以執行,普通用戶需要用sudo passwd(賦予權限執行passwd)
當然可以在創建時就更改部分數據如過期時間、密碼等。
例如
#useradd -u UID -g GID -c "comments" -m -s SHELL \
-p PASSWD -f N -e N USER
#passwd -n N -x N USER