Linux 修改用户属性

        us
ermod 命令修改系统帐户文件来反映通过命令行指定的变化

选项

        -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             ##解锁用户的密码

示例

1.新建用户 test ,密码 test ,另外添加 usertest 组

1
2
3
#useradd test
#echo "test" | passwd --stdin test
#groupadd usertest

2.把 test 用户加入 usertest 组

1
2
3
#usermod -aG usertest test ##多个组之间用空格隔开
#id test
uid=500(test) gid=500(test) groups=500(test),501(usertest)

3.修改 test 用户的家目录

1
2
3
#usermod -md /home/usertest
#ls /home
usertest

4.修改用户名

1
2
3
#usermod -l urchin(新用户名称) test(原来用户名称)
#id urchin
uid=500(urchin) gid=500(test) groups=500(test),501(usertest)

5.锁定 urchin 的密码

1
2
3
4
5
6
7
# sed -n '$p' /etc/shadow
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
#usermod -L urchin
# sed -n '$p' /etc/shadow
urchin:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::

6.解锁 urchin 的密码

1
2
3
4
#usermod -U urchin
# sed -n '$p' /etc/shadow
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::

7.修改用户的 shell

1
2
3
4
5
#sed '$!d' /etc/passwd
urchin:x:500:500::/home/usertest:/bin/bash
#usermod -s /bin/sh urchin
#sed -n '$p' /etc/passwd
urchin:x:500:500::/home/usertest:/bin/sh

8.修改用户的 UID

1
2
3
#usermod -u 578 urchin (UID必须唯一)
#id urchin
uid=578(urchin) gid=500(test) groups=500(test),501(usertest)

9.修改用户的 GID

1
2
3
4
#groupadd -g 578 test1
#usermod -g 578 urchin (578组一定要存在)
#id urchin
uid=578(urchin) gid=578(test1) groups=578(test1),501(usertest)

10.指定帐号过期日期

1
2
3
4
5
6
7
# sed -n '$p' /etc/shadow
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
# usermod -e 2012-09-11 urchin
# sed -n '$p' /etc/shadow
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594:

11.指定用户帐号密码过期多少天后,禁用该帐号

1
2
3
4
# usermod -f 0 urchin
# sed -n '$p' /etc/shadow
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594:

注意

        usermod 不允许改变正在线上的使用者帐号名称。当 usermod 用来改变 userID ,必须确认这名 user 没在电脑上执行任何程序

/etc/passwd
user_name:x:uid:gid:commnet:home:shell

/etc/shadow
username:passwd:lastchg:min:max:warn:inactive:expire:flag
–用户名
–密码
–从1970年1月1日起到上次修改密码所经过的天数
–密码再过几天可以被变更(0表示随时可以改变)
–密码再过几天必须被变更(99999表示永不过期)
–密码过期前几天提醒用户(默认为一周)
–密码过期几天后帐号被禁用
–从1970年1月1日算起,多少天后账号失效