一、usermod命令
usermod 更改用户属性
usermod -u 1000 user1 #将user1用户的uid改成1000
usermod -g 1000 user1 #将user1用户的用户组改成gid为1000的用户组。
usermod -g group1 user1 #将user1的用户组改成group1
usermod -d /home/abc #将用户的家目录修改为/home/abc
usermod -s /sbin/nologin #修改用户的shell
usermod -G
id 用户名 可以查询用户的uid,gid和组。除gid以为的组称为扩展组。
[root@centos-01 ~]# id user1 #查看suer1用户的uid,gid
uid=1001(user1) gid=1001(user1) 组=1001(user1)
[root@centos-01 ~]# usermod -G 1002,1000 user1
#将user1用户加入gid为1002和1000的用户组中
[root@centos-01 ~]# id user1 #查看user1用户的uid,gid
uid=1001(user1) gid=1001(user1) 组=1001(user1),1000(huang),1002(grp1)
#user1用户属于1001(user1),1000(huang),1002(grp1)用户组。
二、用户密码管理
passwd 是更改用户密码的命令。/usr/bin/passwd 的u权限中加了set_gid权限。所以,所有用户在执行passwd命令时都临时具有root用户的权限。
passwd 后什么都不跟,就是更改当前用户的密码。
普通用户只能更改自己的密码,root用户可以更改自己的密码和普通用户的密码。passwd后面跟普通用户的名字就可以更改该普通用户的密码。
用户的密码存放在/etc/shadow 中
如果用户有密码,那第二列就是一串加密的字符串。如果用户没有密码,那第二列就在两个!!。
有一些用户的密码位置是一个星号(*),表示这个用户的密码是被锁定的,不能登录。
passwd -l user 将user用户锁定,密码文件用户密码那里会被变成!!。
passwd -u user 将user用户解锁,解锁后密码为原密码,密码文件用户密码那里会被变成密码加密文件。
usermod -L user 将user用户锁定,密码文件用户密码那里会被变成!。
usermod -U user 将user用户解锁,解锁后密码为原密码,密码文件用户密码那里会被变成密码加密文件。
passwd --stdin huang 修改huang用户密码。只需要输入一次,密码明文显示。
echo输出一个112233字符,然后通过管道符将字符传递给后面的命令(脚本经常用到)
echo -e 可以在一行命令中出现一个换行符(\n)。
echo -e “123\n456” 输出结果为:
123
456
虽然提示密码无效,但是最后还是提示更新成功。
三、mkpasswd命令
mkpasswd = make password 生成密码的工具
需要安装 expect 包
yum install -y expect
mkpasswd默认生成密码为9位,由数字、字母、特殊符号组成
mkpasswd -l 12 -s 3
#生成一个长度为12的密码,其中特殊符号为3个
mkpasswd -l 10 -d 4
#生成一个长度为10的密码,其中数字为4个