Linux下批量添加用户并设置随机密码

shell脚本 struggling 1352次浏览 3个评论

此脚本批量添加用户,将所添加用户的用户名和密码保存于当前目录下的user.txt 文件中。

#!/bin/bash

cat << EOF
************************************************************
	批量添加用户并随机生成8个字符串作为其密码
		www.tianfeiyu.com
************************************************************
EOF

admin=feiyu     #定义所要添加用户的前缀名

[ -f /etc/init.d/functions ] && . /etc/init.d/functions || exit
 

for n in $(seq -w 10)  
do
	passwd=`echo $(date +%t%N)$RANDOM|md5sum|cut -c 1-8`   #生成随机密码
	id ${admin}-$n &> /dev/null 			       #判断用户是否存在
	[ $? -ne 0 ] && {
		useradd ${admin}-$n &> /dev/null && user_status=$?
		echo "$passwd"|passwd --stdin ${admin}-$n &> /dev/null && passwd_status=$?
	
		if [ "$user_status" == 0 -a "$passwd_status" == 0 ];then
			action "adduser ${admin}-$n" /bin/true
			echo -e "user:\t ${admin}-$n \t passwd:\t $passwd" >> ./user.txt  
		else
			action "adduser ${admin}-$n" /bin/false
			echo -e "user:\t ${admin}-$n \t passwd:\t $passwd" >> ./fail_user.txt
		fi
	} || 
	action "${admin}-$n is exist!" /bin/false
done

执行结果如下所示:

添加

当有用户存在时:

exist


DevOps-田飞雨 》》转载请注明源地址
喜欢 (3)or分享 (0)
发表我的评论
取消评论
*

表情 贴图 加粗 链接 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 顺手帮你补充一下、debian类系统不支持passwd --stdin这种
    ll1045672016-05-21 21:31 回复
    • debian系这都不支持啊
      struggling  2016-05-21 21:44 回复
      • 也许是为了安全考虑、ubuntu和debian都不支持
        ll1045672016-05-22 21:29 回复