批量建立用户名密码

回复 收藏
本帖最后由 木树 于 2015-12-24 13:36 编辑

刚刚学shell , 找资料自己动了下手 现在分享

目的 建立user01~user20的用户并分配随机密码, 并保存用户名密码

seq -f 'user%02g' 1 20 >user.txt  //建立用户列名 实际使用中是肯定有用户列表的

rm -rf passwd.txt ; for i in `seq 1 20`; do mkpasswd -l 8 -s 0 >>passwd.txt; done //建立随机密码列表

paste user.txt passwd.txt > usrpass.txt  //合并用户名密码为一个文件

user=(`cat user.txt`);passwd=(`cat passwd.txt`);for ((i=0;i<20;i++)); do useradd  ${user[$i]} ; echo -e "${passwd[$i]}\n${passwd[$i]}"|passwd ${user[$i]};done  定义用户密码 批量添加...
______________________________________


批量删除用户列表
  1. user=(`cat user.txt`);for ((i=0;i&lt;`wc -l user.txt|awk '{print $1}'`;i++));do userdel -r ${user[i]};done
删除文本列表中的用户..






2015-12-24 12:09 举报
已邀请:
0

simle

赞同来自:

好实用
0

balich

赞同来自:

学习了,谢谢分享!
0

googleqicq

赞同来自:

很不错
0

大漠之烟

赞同来自:

第一种密码随机但纯数字:
echo user{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$(($RANDOM+10000000)); echo "$pass"|passwd --stdin \1; echo -e "\1 \t `echo "$pass"`">>/tmp/oldboy.log#g'|bash
第二种密码随机非纯数字:
echo user{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=`echo "$(($RANDOM+10000000))"|md5sum |cut -c 2-10`; echo "$pass"|passwd --stdin \1; echo -e "\1 \t `echo "$pass"`">>/tmp/oldboy.log#g'

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: