mysql檢視使用者的許可權指令碼

abin1703發表於2016-08-01
1、安裝mysql支援python包
yum -y install mysql-connector-python

2、檢視MySQL 使用者許可權的Python指令碼

vi py_priv.py
#!/usr/bin/env python
#coding:utf8
#epel源&yum -y install mysql-connector-python
from __future__ import print_function
import re,sys
import mysql.connector as mdb


config = {
        'user':'root',
        'password':'123456',
        'host':'192.168.1.191',
        'port':3306,
        'database':'mysql'
        }


def GetPriv():
        show_username="select concat(\"'\",user,\"'\",'@',\"'\",host,\"'\"),password from mysql.user"
        cursor.execute(show_username)
        users={}
        for i in cursor:
                username=i[0]
                password=i[1]
                users[username]=password


        for key in users:
                try:
                        show_priv='show grants for %s' % key
                        cursor.execute(show_priv)
                        priv=[]
                        for i in cursor:
                                priv.append(tuple(re.split(r' TO ',str(*i))[0].split(r' ON ')))


                        print(''.center(80,'~'))
                        print('{0:<10} {1}'.format('使用者名稱:',key))
                        print('{0:<10} {1}'.format('密碼:',users[key]))
                        for j in priv:
                                privs=j[0].replace('GRANT','')
                                privs_info=j[1]
                                print('{0} {1:<20} {2} {3}'.format('庫(表):',privs_info,'許可權:',privs))
                        print('\n')
                except Exception as err:
                        print(err)
                        continue


conn = mdb.connect(**config)
cursor = conn.cursor()


GetPriv()


cursor.close()
conn.close()



3、給執行許可權
chmod +x

4、檢視結果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用者名稱: ''@'localhost'
密碼:    
庫(表): *.*                  許可權:  USAGE




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用者名稱: 'root'@'192.168.1.%'
密碼:    *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
庫(表): *.*                  許可權:  ALL PRIVILEGES




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用者名稱: 'root'@'localhost'
密碼:    *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
庫(表): *.*                  許可權:  ALL PRIVILEGES
庫(表): ''@''                許可權:  PROXY



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-2122802/,如需轉載,請註明出處,否則將追究法律責任。

相關文章