extmail停用使用初始密码的邮件账号

发布时间:2020-06-29编辑:脚本学堂
本文介绍下,在extmail中停止使用初始密码的一些邮件账号的方法,供大家参考。

由于初始开通时所有用户默认密码均设置为:123456,现需对没有更改默认密码的用户进行停用操作。
本方法可以实现上述目的,但不一定是最佳方法。属于比较笨的办法,但是很容易理解及操作。
密码存储位置为:extmail.mailbox表中。
密码格式为: $id$salt$encrypted 。

例:$1$vXYGyuSj$8pgRcbiKAnI33r.XVqtZu1
实现方式:
取出所有现有密码中"$id$salt$"这段,而后加上初始的"123456"密码,生成加密字段。再用新生成的字段去匹配mailbox表中的password字段。如相等则说明此用户的密码是
未改动过的初始密码"123456",最后将此用户停用。

实施步骤:

1、取出现有密码:
 

复制代码 代码示例:
[root@jbxue ~]# /usr/local/mysql/bin/mysql -uroot -ppasswd -e " SELECT PASSWORD FROM extmail.mailbox;" >Spw.txt

2、取出密码的"$id$salt$"段:
 

复制代码 代码示例:
[root@jbxue ~]# cat Spw.txt |cut -c1-12 >salt.txt

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中的用户状态信息为停用。即:禁止登录。
 

复制代码 代码示例:
[root@jbxue ~]# vi update.sh
#!/bin/bash
filename="pw123456.txt"
while read LINE
do /usr/local/mysql/bin/mysql -uroot -ppasswd -e "UPDATE extmail.mailbox SET active = 0 WHERE password='$LINE'"
done <$filename
[root@jbxue ~]# chmod 755 update.sh
[root@jbxue ~]# ./update.sh