一、什么是usermod?
usermod 命令通過修改系統帳戶文件來修改用戶賬戶信息
usermod [options] user_name
選項(options)
-a|--append ##把用戶追加到某些組中,僅與-G選項一起使用
-c|--comment ##修改/etc/passwd文件第五段comment
-d|--home ##修改用戶的家目錄通常和-m選項一起使用
-e|--expiredate ##指定用戶帳號禁用的日期,格式YY-MM-DD
-f|--inactive ##用戶密碼過期多少天后采用就禁用該帳號,0表示密碼已過期就禁用帳號,-1表示禁用此功能,默認值是-1
-g|--gid ##修改用戶的gid,改組一定存在
-G|--groups ##把用戶追加到某些組中,僅與-a選項一起使用
-l|--login ##修改用戶的登錄名稱
-L|--lock ##鎖定用戶的密碼
-m|--move-home ##修改用戶的家目錄通常和-d選項一起使用
-s|--shell ##修改用戶的shell
-u|--uid ##修改用戶的uid,該uid必須唯一
-U|--unlock ##解鎖用戶的密碼
二、示例(Examples)
1、新建用戶myUser,密碼myUser,另外添加myGroup組
#useradd myUser
#echo "myUser" | passwd --stdin myUser
#groupadd myGroup
2、把myUser用戶加入myGroup組
#usermod -aG myGroup myUser ##多個組之間用空格隔開
#id myUser
uid=500(myUser) gid=500(myUser) groups=500(myUser),501(myGroup)
3、修改myUser用戶的家目錄
#usermod -md /home/myGroup
#ls /home
myGroup
4、修改用戶名
#usermod -l Jerry(新用戶名稱) myUser(原來用戶名稱)
#id Jerry
uid=500(Jerry) gid=500(myUser) groups=500(myUser),501(myGroup)
5、鎖定Jerry的密碼
# sed -n '$p' /etc/shadow
Jerry:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
#usermod -L Jerry
# sed -n '$p' /etc/shadow
Jerry:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
6、解鎖Jerry的密碼
#usermod -U Jerry
# sed -n '$p' /etc/shadow
Jerry:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
7、修改用戶的shell
#sed '$!d' /etc/passwd
Jerry:x:500:500::/home/myGroup:/bin/bash
#usermod -s /bin/sh Jerry
#sed -n '$p' /etc/passwd
Jerry:x:500:500::/home/myGroup:/bin/sh
8、修改用戶的UID
#usermod -u 578 Jerry (UID必須唯一)
#id Jerry
uid=578(Jerry) gid=500(myUser) groups=500(myUser),501(myGroup)
9、修改用戶的GID
#groupadd -g 578 myUser1
#usermod -g 578 Jerry (578組一定要存在)
#id Jerry
uid=578(Jerry) gid=578(myUser1) groups=578(myUser1),501(myGroup)
10、指定帳號過期日期
# sed -n '$p' /etc/shadow
Jerry:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
# usermod -e 2012-09-11 Jerry
# sed -n '$p' /etc/shadow
Jerry:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594:
11、指定用戶帳號密碼過期多少天后,禁用該帳號
# usermod -f 0 Jerry
# sed -n '$p' /etc/shadow
Jerry:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594:
注意(caution):
usermod不允許你改變正在線上的使用者帳號名稱。當usermod用來改變userID,必須確認這名user沒在電腦上執行任何程序
三、關於 /etc/passwd
1、/etc/passwd的格式:
user_name:x:uid:gid:commnet:home:shell
2、/etc/shadow
username:passwd:lastchg:min:max:warn:inactive:expire:flag
--用戶名
--密碼
--從1970年1月1日起到上次修改密碼所經過的天數
--密碼再過幾天可以被變更(0表示隨時可以改變)
--密碼再過幾天必須被變更(99999表示永不過期)
--密碼過期前幾天提醒用戶(默認為一周)
--密碼過期幾天后帳號被禁用
--從1970年1月1日算起,多少天后賬號失效