snake-hand

  应用上线,涉及到用户名和密码管理,随着上线应用的增加,用户名和密码的管理设置成为一个问题。还要对用户赋权,于是想着写一个脚本来管理,看到同事写的一个脚本,满足需求。思路大致是字母替换为数字,账号根据库名设置。脚本如下:

#!/bin/sh
passwd1=$1_sir
dbuser=`echo $passwd1|awk \'{print tolower($0)}\'`
dbpassword=`echo $passwd1| awk \'{print  tolower($0)}\' |sed \'/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//\'|awk \'{
    toupper($0)
    gsub(/_/,"",$0)
    while($0~/a/)
    {
        gsub(/a/,"4",$0)
    }
    while($0~/e/)
    {
        gsub(/e/,"3",$0)
    }       
    while($0~/i/)
    {
        gsub(/i/,"1",$0)
    }       
    while($0~/o/)
    {
        gsub(/o/,"0",$0)
    }       
    while($0~/v/)
    {
        gsub(/v/,"7",$0)
    }
    print  tolower($0)
}\'`

echo "grant select,update,delete,insert on $1.* to $dbuser@\'%\' identified by \'$dbpassword\';"
echo "grant select on $1.* to reader@\'%\' identified by \'n0p4ssw0rd\';"

使用方式  脚本后面跟db名字

[root@dbxxxxx]# ./password.sh userdb
grant select,update,delete,insert on userdb.* to userdb_sir@\'%\' identified by \'r1sbdr3su\';
grant select on userdb.* to reader@\'%\' identified by \'n0p4ssw0rd\';

执行完产生上面的sql语句,一个写账号,一个读账号,然后在相应主机上执行命令。

 

分类:

技术点:

相关文章: