usermod修改用户属性
usermod命令和useradd命令选项很像,唯一不同的是usermod是更改已经存在的用户相关属性。
-u更改用户的uid
[root@chy002 ~]# tail -n3 /etc/passwd user2:x:1004:1002::/home/user2:/bin/bash user3:x:1005:1002::/tmp/user3:/sbin/nologin user4:x:1006:1006::/home/user4:/bin/bash [root@chy002 ~]# usermod -u 1009 user4 [root@chy002 ~]# id user4 uid=1009(user4) gid=1006(user4) 组=1006(user4)
-d更改用户的家目录。
[root@chy002 ~]# tail -n3 /etc/passwd user2:x:1004:1002::/home/user2:/bin/bash user3:x:1005:1002::/tmp/user3:/sbin/nologin user4:x:1009:1006::/home/user4:/bin/bash [root@chy002 ~]# usermod -d /home/user5 user4 [root@chy002 ~]# tail -n1 /etc/passwd user4:x:1009:1006::/home/user5:/bin/bash
-s更改用户的shell
[root@chy002 ~]# tail -n2 /etc/passwd user3:x:1005:1002::/tmp/user3:/sbin/nologin user4:x:1009:1006::/home/user5:/bin/bash [root@chy002 ~]# usermod -s /bin/bash user3 [root@chy002 ~]# tail -n2 /etc/passwd user3:x:1005:1002::/tmp/user3:/bin/bash user4:x:1009:1006::/home/user5:/bin/bash
-g更改用户属组,后面可以跟组id。一个用户可以属于多个组,但是gid只有一个,把其他的组叫做扩展组,使用-G选项指定扩展组。
[root@chy002 ~]# usermod -G user4 user1 #指定扩展组 [root@chy002 ~]# id user1 uid=1002(user1) gid=1002(user1) 组=1002(user1),1006(user4) [root@chy002 ~]# usermod -g user4 user1 [root@chy002 ~]# id user1 uid=1002(user1) gid=1006(user4) 组=1006(user4)
passwd修改用户密码
[root@chy002 ~]# tail -n5 /etc/shadow user:!!:17463:0:99999:7::: #没有密码为两个叹号 user1:!!:17467:0:99999:7::: user2:!!:17467:0:99999:7::: user3:!!:17467:0:99999:7::: user4:!!:17467:0:99999:7::: [root@chy002 ~]# head -n5 /etc/shadow root:$6$jy.MWzUb$pVMbm2sUh583kebBn4xNrspaHG0yYTPmz90c1JvQwQ5HNkcNVPWsn31sXVz3Mm2ftUjWWiezPwWULzy6xWedL0:17458:0:99999:7::: bin:*:16231:0:99999:7::: #密码为星号的,说明密码锁定,不能登录 daemon:*:16231:0:99999:7::: adm:*:16231:0:99999:7::: lp:*:16231:0:99999:7::: [root@chy002 ~]# passwd -l user4 锁定用户 user4 的密码 。 passwd: 操作成功 [root@chy002 ~]# tail -n1 /etc/shadow #-l 锁定用户,密码位置变为两个叹号 user4:!!:17467:0:99999:7::: [root@chy002 ~]# passwd -fu user4 #-u解锁,-f强制 解锁用户 user4 的密码。 passwd: 操作成功 [root@chy002 ~]# !t tail -n1 /etc/shadow user4::17467:0:99999:7::: #写shell脚本可能回用到更改密码 [root@chy002 ~]# passwd --stdin user4 更改用户 user4 的密码 。 123456 passwd:所有的身份验证令牌已经成功更新。 [root@chy002 ~]# echo "123456"| passwd --stdin user4 更改用户 user4 的密码 。 passwd:所有的身份验证令牌已经成功更新。
[root@chy002 ~]# echo -e "123456 123456"| passwd user4 #-e可以翻译反斜杠 更改用户 user4 的密码 。 新的 密码:无效的密码: 密码少于 8 个字符 重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
mkpasswd
生成密码工具。
[root@chy002 ~]# mkpasswd @5mozi1US [root@chy002 ~]# mkpasswd -l 12 #-l指定长度 hqD|7so4aWxk [root@chy002 ~]# mkpasswd -l 12 -s 2 -d 4 #-s指定特殊字符,-d指定数字的个数 jYqn7r4?=8Q1