命令
usermod
描述
modify a user account
修改用户信息
用法
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Options: -d HOME_DIR 更改家目录 -e EXPIRE_DATE 设置账户过期时间,格式为YYYY-MM-DD -f INACTIVE 设置密码失效时间 -g GROUP 强制更改用户属组 -G GROUPS 更改附加组,注意会删除用户原有的附加组 -a,--append 追加附加组,配合-G使用(注意低版本可能不支持此选项) -l NEW_LOGIN 更改用户名 -s SHELL 更改用户shell -u UID 更改用户UID -c 更改注释信息 -m 移动用户家目录,配合-d选项使用 -L 锁定用户 -U 解锁用户
|
注意
如非必要不建议同时更改用户名和uid
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| $ usermod -c aaa usera $ tail -1 /etc/passwd usera:x:1002:1002:aaa:/home/usera:/bin/bash $ finger usera Login: usera Name: aaa Directory: /home/usera Shell: /bin/bash Never logged in. No mail. No Plan.
$ usermod -e 2021-1-31 usera $ chage -l usera Last password change : Jan 08, 2021 Password expires : never Password inactive : never Account expires : Jan 31, 2021
$ id usera uid=1002(usera) gid=1002(usera) groups=1002(usera) $ id userb uid=1003(userb) gid=1003(userb) groups=1003(userb) $ groupadd group1 $ groupadd group2
$ usermod -g group1 usera $ id usera uid=1002(usera) gid=1004(group1) groups=1004(group1)
$ usermod -G group2 userb $ id userb uid=1003(userb) gid=1003(userb) groups=1003(userb),1005(group2)
$ usermod -aG sudo userb
$ usermod -G userb userb $ id userb uid=1003(userb) gid=1003(userb) groups=1003(userb)
$ usermod -l www userb $ id userb id: userb: no such user $ id www uid=1003(www) gid=1003(userb) groups=1003(userb),1005(group2)
$ finger usera Login: usera Name: Directory: /home/usera Shell: /bin/bash Never logged in. $ echo $SHELL /bin/bash $ more /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash
$ usermod -s /bin/sh usera $ tail -2 /etc/passwd usera:x:1002:1004::/home/usera:/bin/sh www:x:1003:1003::/home/userb:/bin/bash $ finger usera Login: usera Name: Directory: /home/usera Shell: /bin/sh Never logged in.
$ usermod -u 1020 usera $ id usera uid=1020(usera) gid=1004(group1) groups=1004(group1) $ ll /home/ drwx------ 2 usera group1 62 Jan 9 00:42 usera/ drwx------ 2 www userb 62 Jan 9 00:42 userb/
$ usermod -md /opt/usera usera $ ll /home/ drwx------ 2 www userb 62 Jan 9 00:42 userb/ $ ll /opt/ drwx------ 2 usera group1 62 Jan 9 00:42 usera/ $ ll /opt/usera/ total 12 drwx------ 2 usera group1 62 Jan 9 00:42 ./ drwxr-xr-x. 3 root root 19 Jan 9 00:52 ../ -rw-r--r-- 1 usera group1 18 Apr 1 2020 .bash_logout -rw-r--r-- 1 usera group1 193 Apr 1 2020 .bash_profile -rw-r--r-- 1 usera group1 231 Apr 1 2020 .bashrc
$ getent passwd usera usera:x:1002:1002::/home/usera:/bin/bash $ getent shadow usera usera:$6$N/o7E/yu$Dg0eFCBUo6swK75Iy0LoXPzhRq./BRR.T1F4hHllk5iUk4Axr83yyMxpvppw9lbl3QiP8Z8ga6uNW5AwPXvR8/:18663:0:99999:7:::
|