近来要批量更改linuxos用户的密码linux服务器系统qq for linux,更改完而且保存出来,密码的规则最好是数字、小写字母、大写字母和特殊符号中的三种linux 修改用户密码,而且厚度要够,进而提升用户的安全性和系统的安全性。网上找了批量更改用户的脚本linux 修改用户密码,发觉密码的规则和厚度不符合,之后自己写了一个,并加了逻辑判定,脚本如下。
for i in `cat list`;do ipadd=`echo $i | awk -F "[:]" '{print $1}'` user=`echo $i | awk -F "[:]" '{print $2}'` PASS=$(tr -cd '[:alnum:]' /dev/null" ssh $ipadd "chage -l $user|grep 'Last password change'|awk '{print $NF}'" >$tmp_result if [ $(cat ${tmp_result}) -eq 2021 ];then echo "$ipadd $user $PASS" >> $success else echo "$ipadd $user $PASS" >> $fail fi else echo "$ipadd $user" >> ./login_fail_list fi done
简略说明:
1.密码更改结果展示:
[root@localhost ~]# tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1|head -c 16 aZDvwrT8zg2JsXcU
2.脚本加入的逻辑说明:
前台展示,加超时登陆判定
ssh -o ConnectTimeout=5 $ipadd "echo $ipadd $user"
内层的if句子是判定ip是否登陆成功,假如登陆失败则将登陆失败的ip保存在login_fail_list文件中;若登陆成功,密码的更改结果保存在success_user.txt,脚本只做了简单的逻辑判定,可按需更改。
3.ip和用户以逗号分割保存在list文件中,如下:
192.168.0.141:zhanghai 192.168.0.141:apche 192.168.0.141:nginx
文章评论