修改密码时需要输入两次新密码,可以用 --stdin 实现不用输入两次,示例如下
[root@localhost shell]# passwd user1
更改用户 user1 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost shell]# vim 11.sh
[root@localhost shell]# passwd --stdin user1
更改用户 user1 的密码 。
123456
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost shell]# echo "123456" | passwd --stdin user1
更改用户 user1 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost shell]#
- 随机密码实现
// 可以通过mkpasswd实现,需要先安装expect才能使用mkpasswd,-l指定长度,-s 指定特殊字符数量
[root@localhost shell]# yum -y install expect
[root@localhost shell]# mkpasswd
*T61kcEoi
[root@localhost shell]# mkpasswd -l 12
i9fx4*ahoCKs
[root@localhost shell]# mkpasswd -l 12 -s 0
PytZvvzx7jz1
[root@localhost shell]# mkpasswd -l 12 -s 1
Ia4yu;yrl4nM
[root@localhost shell]#
- 脚本
#!/bin/bash
for i in `seq -w 00 09`
do
useradd user_$i
p=`mkpasswd -l 10 -s 0`
echo "user_$i $p" >> /tmp/pass.tmp
echo $p |passwd --stdin user_$i
done