Linux入門:usermod - 修改用戶帳戶信息


 

一、什么是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日算起,多少天后賬號失效


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM