首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有选择特权的新用户可以删除表。

问只有选择特权的新用户可以删除表。
EN

Server Fault用户
提问于 2012-01-17 09:24:15
回答 2查看 143关注 0票数 1

我在mysql中使用phpmyadmin创建了一个只具有SELECT特权的新用户。但是,该用户可以DROP tables、删除记录、更改数据(INSERT、UPDATE)。我已经刷新了特权,登录和退出等,但没有改变。

有什么想法吗?

非常感谢。

EN

回答 2

Server Fault用户

发布于 2012-01-17 21:22:45

好的,我有一些令人不安的消息要告诉你。如果您在测试数据库中编写了表,则需要确定更改。

在mysql的默认安装中,测试数据库可以完全访问任何人。

要找到这一点,请运行select user,host,db from mysql.db where db like 'test%';

代码语言:javascript
复制
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>

如果在运行此查询时看到此显示,请立即删除这两行!(保安孔)。如果不删除它们,请注意匿名用户在测试数据库中拥有无限的火力。

请运行以下命令以删除该访问:

代码语言:javascript
复制
DELETE FROM mysql.db WHERE db LIKE 'test%';
FLUSH PRIVILEGES;

请注意其公报中的MySQL 5.0认证研究指南第498页第6段,特别是最后一个公报:

在Unix上,MySQL附带了一个mysql_secure_installation脚本,可以在安装过程中执行几个有用的与安全相关的操作。该脚本具有以下功能:

  • 为根帐户设置密码。
  • 删除任何可远程访问的根帐户。
  • 删除匿名用户帐户。这提高了安全性,因为它防止任何人以根用户身份从远程主机连接到MySQL服务器。结果是,任何想要以root用户身份连接的人都必须首先能够登录服务器主机,这提供了抵御攻击的额外屏障。
  • 删除测试数据库(如果删除匿名帐户,也可能希望删除它们访问的测试数据库)。
票数 4
EN

Server Fault用户

发布于 2012-01-17 09:46:00

或者您已经给了该用户更多的特权,而不仅仅是选择,或者您已经启动了MySQL和--skip-grant-tables选项。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/350560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档