在LINUX下实现密码批量随机更改

发布于 2022-10-15 06:44:43 字数 1421 浏览 20 评论 0

在LINUX下实现密码批量随机更改

自动批量修改/etc/password文件中UID大于等于500的用户的密码,要求密码符合以下复杂性要求,
一,达到8位,
二,密码中需至少带有数字或字母大小写。
三、密码是随机产生的
四、需把更改后的密码记录下来以便发给相应人员

脚本内容:
# more random.sh

cat /etc/passwd |awk -F "[:]" '$3 >= 500{print $1}'|while read line
do

        a=(0 1 2 3 4 5 6 7 8 9 a b c d e A B C D E F @ $ % ^)
        for ((i=0;i<8;i++));do
                echo -n ${a[$RANDOM % ${#a}]}

        done
        echo "  $line"

done

执行脚本:
#more password_change.sh
sh random.sh |awk '{print  "echo",  "'\''"$1"'\''| passwd", $2, "--stdin" }' >password.txt
sh password.txt

密码会随机生成后输出 到password.txt文件中,直接执行这个文件就可以完成密码的自动更改了

bjnppb01:~/scripts # more password.txt
echo 'b$7C4D1D'| passwd nobody --stdin
echo 'b03eAa%C'| passwd cvsroot --stdin
echo '6a3$361D'| passwd oracle --stdin
echo 'E1c^b0e$'| passwd #test --stdin
echo '$@$1$%EA'| passwd netback --stdin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄风 2022-10-22 06:44:43

楼主用的是什么linux 我的linux passwd 命令没有stdin 参数。

这种需求我是用 chpasswd 命令完成的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文