mysql查看用户的权限脚本
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,1、安装mysql支持python包yum -y install mysql-connector-python2、查看MySQL 用户权限的Python脚本vi py_priv.py#!/usr/bi
千家信息网最后更新 2024年09月22日mysql查看用户的权限脚本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
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
权限
用户
密码
用户名
脚本
结果
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
cs服务器文件
公安网络安全排查分析
认知障碍的数据库介绍写什么内容
杨浦区上门软件开发优化价格
铁路网络安全措施
网络软件开发大概费用
教学管理数据库sc是什么意思
苹果手机提示服务器未连接
涉密网络安全监管
广州餐饮软件开发订制
大话西游2哪个服务器可以合并
连接数据库步骤
软件开发主基线是什么意思
软件开发公司属于高新企业么
取列多数据的重复的数据库
楚留香手游端游服务器不同
电力行业软件开发公司
服务器可以用键鼠吗
网络安全问题处理机制
网络安全问题阐述
mc服务器java版搭建教程
网络安全密钥在手机哪里找
MYSQL数据库技术路线
维护网络安全手抄报三年级
北京工控软件开发有用吗
nba2k22港服服务器
猜数字游戏java代码数据库
跨考网络安全空间
无线传感器网络技术的理解
纵横互联网科技有限公司