我在mysql中使用phpmyadmin创建了一个只具有SELECT特权的新用户。但是,该用户可以DROP tables、删除记录、更改数据(INSERT、UPDATE)。我已经刷新了特权,登录和退出等,但没有改变。
有什么想法吗?
非常感谢。
发布于 2012-01-17 21:22:45
好的,我有一些令人不安的消息要告诉你。如果您在测试数据库中编写了表,则需要确定更改。
在mysql的默认安装中,测试数据库可以完全访问任何人。
要找到这一点,请运行select user,host,db from mysql.db where db like 'test%';
mysql> select user,host,db from mysql.db where db like 'test%';
+------+------+---------+
| user | host | db |
+------+------+---------+
| | % | test |
| | % | test\_% |
+------+------+---------+
2 rows in set (0.00 sec)
mysql>如果在运行此查询时看到此显示,请立即删除这两行!(保安孔)。如果不删除它们,请注意匿名用户在测试数据库中拥有无限的火力。
请运行以下命令以删除该访问:
DELETE FROM mysql.db WHERE db LIKE 'test%';
FLUSH PRIVILEGES;请注意其公报中的MySQL 5.0认证研究指南第498页第6段,特别是最后一个公报:
在Unix上,MySQL附带了一个mysql_secure_installation脚本,可以在安装过程中执行几个有用的与安全相关的操作。该脚本具有以下功能:
发布于 2012-01-17 09:46:00
或者您已经给了该用户更多的特权,而不仅仅是选择,或者您已经启动了MySQL和--skip-grant-tables选项。
https://serverfault.com/questions/350560
复制相似问题