由于初始开通时所有用户默认密码均设置为:123456,现需对没有更改默认密码的用户进行停用操作。
本方法可以实现上述目的,但不一定是最佳方法。属于比较笨的办法,但是很容易理解及操作。
密码存储位置为:extmail.mailbox表中。
密码格式为: $id$salt$encrypted 。
例:$1$vXYGyuSj$8pgRcbiKAnI33r.XVqtZu1
实现方式:
取出所有现有密码中"$id$salt$"这段,而后加上初始的"123456"密码,生成加密字段。再用新生成的字段去匹配mailbox表中的password字段。如相等则说明此用户的密码是
未改动过的初始密码"123456",最后将此用户停用。
实施步骤:
1、取出现有密码:
2、取出密码的"$id$salt$"段:
3、由取出的salt+123456生成新的加密字段:
[root@jbxue ~]# vi newpw.sh
#!/bin/bash
filename="salt.txt"
while read LINE
do /usr/local/mysql/bin/mysql -uroot -ppasswd -e "select encrypt( '123456', '$LINE' );" |tail -1 >>Newpd.txt
done<$filename
[root@jbxue ~]# chmod 755 newpw.sh
[root@jbxue ~]# ./newpw.sh
[root@jbxue ~]# tail -5 Newpd.txt
$1$4eKJhTl5$A4UTRS5O7bTCqxmPhGJQA/
$1$bw9Zf9rr$g5.vj3ESRyHNjFcrCC90d0
$1$Gqe4pAXu$WI2gBA6zL7dfZDwFnlez51
$1$0zn0Qf/F$G/6c13FpjYViESBCSH4o00
$1$17ktieix$W3PuO0ZdYNLkTHRXzgnT90
上面有输出则代表新的字段生成成功。
4、对比Newpd.txt和Spw.txt两个文件,取出相同的行。此部略过,我是使用windows下面的"Beyond Compare"工具进行的文本对比取出相同的行另存为pw123456.txt文件。
5、设置密码为pw123456.txt中的用户状态信息为停用。即:禁止登录。