这里要实现功能介绍
读取一个用户列表文件
给列表中的用户添加随机密码需要包含大小写字符和数字
保存对应的用户和密码文件
这些用户属于同个用户组

1、列表文件

  1. [root@mail ~]# cat listuser.txt
  2. andy
  3. tom
  4. ailis
  5. wate
  6. job
  7. eils

2、这里我们用mkpasswd 命令生成,没有这个命令安装以下
expect这个包

  1. [root@mail ~]# mkpasswd -d 3 -l 13 -s 0 -C 2
  2. Ppkvy0pOwg6m1

3、给用户设定密码或修改密码

  1. 第一种 echo -e "123123\n123123\n" | passwd root #>echo-e 是接收特殊符号,\n是换换行
  2. 第二种 echo -e "123123" |passwd --stdin root

脚本实例1

  1. #!/bin/bash
  2. if [ $# -eq 0 ] ;then
  3. echo "input file path"
  4. exit 1
  5. fi
  6. if [ ! -f $1 ] ;then
  7. echo "input file name"
  8. exit 1
  9. fi
  10. while read aa ;do
  11. pd=`mkpasswd -l 12 -s 0`
  12. useradd $aa
  13. echo $pd |passwd --stdin $aa
  14. echo "$aa \and\ $pd" >> user_passwd.txt
  15. done < $1
  16. [root@mail sbin]# sh mkku.sh /home/rrad/listuser.txt
  17. 更改用户 andy 的密码
  18. passwd:所有的身份验证令牌已经成功更新。
  19. 更改用户 tom 的密码
  20. passwd:所有的身份验证令牌已经成功更新。
  21. 更改用户 ailis 的密码
  22. passwd:所有的身份验证令牌已经成功更新。
  23. 更改用户 wate 的密码
  24. passwd:所有的身份验证令牌已经成功更新。
  25. 更改用户 job 的密码
  26. passwd:所有的身份验证令牌已经成功更新。
  27. 更改用户 eils 的密码
  28. passwd:所有的身份验证令牌已经成功更新。
  29. [rrad@mail ~]$ cat listuser.txt
  30. andy
  31. tom
  32. ailis
  33. wate
  34. job
  35. eils
  36. [rrad@mail ~]$

脚本实例2

  1. [root@mail sbin]# cat user.sh
  2. #!/bin/bash
  3. if ! which mkpasswd &> /dev/null
  4. then
  5. echo "need mkpasswd"
  6. yum install -y expect
  7. fi
  8. for i in `seq -w 1 10`
  9. do
  10. pd=`mkpasswd -l 12 -C 6 -d 3 -s 0`
  11. echo "add_$i"
  12. useradd add_$i
  13. echo $pd |passwd --stdin add_$i
  14. echo "add_$i : $pd" >> ./user_passwd
  15. done
  16. [root@mail sbin]# cat user_passwd
  17. add_01 : PR5jBW1GdiH4
  18. add_02 : uwM2LD4ZQF8l
  19. add_03 : k1KTLuKc8G2Q
  20. add_04 : B06lMOOikL7N
  21. add_05 : 1ex68WCNKWJe
  22. add_06 : HK8CWV0eA3sy
  23. add_07 : MvE23Q9BUeiD
  24. add_08 : 9vLY6FzLGgZ8
  25. add_09 : TCuV13VZEs9l
  26. add_10 : 6KUVPv5cB8yA

简书链接
—–END—-

版权声明:本文为haozheyu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/haozheyu/p/9922059.html