如何使用MyWebSQL给用户授予Alter全局权限

登录MyWebSQL连接MySQL。
单击“工具”-“用户管理”。
选择用户,编辑权限页面并选中编辑。
单击更新用户。
请咨询 SHOWGRANTS。
不要那样做。

MySQL权限管理精讲:使用GRANT和REVOKE保障数据库安全

这里有一个陷阱:直接删除用户而不是撤销权限可能会导致权限难以检测。

实用提醒:始终审核权限,确保权限与职责相匹配,并立即撤销不再需要的权限。

如何在mysql中检测和修复权限漏洞

上周我朋友的公司遇到了 MySQL 的问题。
许可漏洞确实应该认真对待。

2 02 3 年1 2 月1 5 日,我查了我们公司的数据库。
完成 SELECT User,Host,authentication_string FROM mysql.user;。
检测到 User='' 的匿名帐户和 Host='%' 通配符的主机。
快速将其移除。
这个账户的密码仍然是1 2 3 4 5 6 ,这个密码太弱了。

我检查了用户的权限。
完成“appuser”@“localhost”的显示补助金;。
检测到该用户具有 FILE 权限。
这很危险。
他获得了所有特权。
这需要改变。

在修复过程中,我使用了 REVOKE FILE ON。
来自'appuser'@'localhost';。
文件权限已被撤销。
然后将主机“%”更改为特定的IP地址。
创建由“StrongPassw0rd!”标识的用户“dbadmin”@“1 9 2 .1 6 8 .1 .1 00”;并删除用户'dbadmin'@'%';被处决。

测试环境中的测试账号没有被删除。
我直接删除用户'test'@'%';删除了它。

密码已更改。
更改由“NewP@ssw0rd!2 02 4 ”标识的用户“appuser”@“localhost”;。
还安装了 validate_password 插件。
设置全局 validate_password.policy=STRONG;。

我们现在每月运行一个脚本来检查权限。
mysql -u root -p -e "从 mysql.user WHERE Host='%' 中选择用户、主机"; > 主机风险.txt。
将结果保存到文件中。

事务日志也会打开。
设置 GLOBALgeneral_log='ON';。
虽然这确实对性能有轻微影响,但您可以找出谁做了什么。

角色权限非常细化。
只读用户只有 SELECT 权限。
INSERT UPDATE DELETE 应用程序帐户只能对其自己的数据库进行操作。

但是说实话,审核权限太困难了。
没关系。
由你决定。