需求:后台管理需要基于web用户身份验证,并且每月要更换一次,从上次我用 http://gabylinux.blog.51cto.com/1593644/911034这里面的脚本生成后,我决定制定成任务计划,下面只是个简单的应用:
准备:gaby.txt这个文件放着需要访问后台的账户。别的都是生成的,脚本如下
#!/bin/bash

PASSFILE=nginx.password
[ ! -f $PASSFILE ] && touch $PASSFILE

if [ -e gaby.pass ];then
                mv gaby.pass gaby.pass.$(date +%F)
fi

for i in `cat gaby.txt`;do
                passwd=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;`
                echo "$i $passwd" >> gaby.pass
done

while read username password
do
                htpasswd -b -d $PASSFILE $username $password
done << EOF
`cat gaby.pass`
EOF
这个比先前那个简单多,主要是因为htpasswd -b的选择。
此外这个想做成全自动还需要考虑如何通知用户密码已经改变,如何同步到备用服务器(如果有备用的话)。这些问题留到以后再说!完成任务先。