chpasswd命令是批量更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中
能够实现非交互的形式修改密码
工作原理:
从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上已存在的用户的口令
语法:
chpasswd(选项)
echo 用户名:密码 | chpasswd
chpasswd < user.txt
选项:
-e:输入的密码是加密后的密文
-h:显示帮助信息并退出
-m:当被支持的密码未被加密,使用MD5加密代替DES加密
注意事项
1:用户名必须是系统上已存在的用户
2:普通用户没有使用这个指令的权限
3:如果输入文件是按非加密方式传递的话,请对该文件进行适当的加密。
4:指令文件不能有空行
实例:
1,直接修改abc用户的密码为abc123
echo abc:abc123 | chpasswd
2,先创建用户密码对应文件,格式为:username:password ,如:abc:abc123,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行passwd命令:
chpasswd < user.txt
3,让普通用户使用chpasswd
默认普通用户是没有chpasswd权限的,但是可以修改命令文件权限来赋予权限
chmod 4755 /usr/sbin/chpasswd