这里要实现功能介绍

*读取一个用户列表文件

*给列表中的用户添加随机密码需要包含大小写字符和数字

*保存对应的用户和密码文件

*这些用户属于同个用户组

1、列表文件

[root@mail ~]# cat listuser.txt
andy
tom
ailis
wate
job
eils

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

expect这个包

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

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

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

脚本实例1

#!/bin/bash
if [ $# -eq 0 ] ;then
echo "input file path"
exit 1
fi if [ ! -f $1 ] ;then
echo "input file name"
exit 1
fi while read aa ;do
pd=`mkpasswd -l 12 -s 0`
useradd $aa
echo $pd |passwd --stdin $aa
echo "$aa \and\ $pd" >> user_passwd.txt
done < $1 [root@mail sbin]# sh mkku.sh /home/rrad/listuser.txt
更改用户 andy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 ailis 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 wate 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 job 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 eils 的密码 。
passwd:所有的身份验证令牌已经成功更新。 [rrad@mail ~]$ cat listuser.txt
andy
tom
ailis
wate
job
eils
[rrad@mail ~]$

脚本实例2

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

简书链接

-----END----

最新文章

  1. 编译原理LL1文法分析表算法实现
  2. Linux启动盘制作
  3. cocos2d c++ 代码规范(译文)
  4. ubuntu14.04下unix网络编程环境的配置
  5. 【LeetCode练习题】Gas Station
  6. SqlServer service broker 分布式系统(赵松桃)跳水 2005 数据库编程
  7. WEB前端面试真题 - 2000!大数的阶乘如何计算?
  8. SpringMVC的流程分析(一)—— 整体流程概括
  9. R语言︱数据去重
  10. C++ 多态的实现及原理
  11. 其他信息: 未能加载文件或程序集“file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll”或它的某一个依赖
  12. 编写shell脚本kill掉占用cpu超过90%以上的程序
  13. Quartz.NET 任务调度教程。
  14. [Converge] Weight Initialiser
  15. 2017-2018-2 20165306 实验三《敏捷开发与XP实践》实验报告
  16. 【UNIX网络编程】FIFO
  17. Python的ipython的安装
  18. MFC 中的设计模式分析
  19. 【Leetcode】【Easy】Binary Tree Level Order Traversal II
  20. RF的一些技术知识

热门文章

  1. BZOJ 3160 FFT+Manacher
  2. 线上服务CPU100%问题快速定位实战--转
  3. 【学习】JMS通信模式
  4. mybastis_20190323
  5. HDU 3015 Disharmony Trees 【 树状数组 】
  6. swift语言点评十一-Methods
  7. 接口测试工具篇--jmeter
  8. day02变量
  9. Fiddler常用配置
  10. 服务器搭建域控与SQL Server的AlwaysOn环境过程(一) 搭建域控服务器