保护MySQL debian-sys-maint

随着一个新的(但旧的)安装的Ubuntu和MySQL,我发现我可以通过命令行客户端访问MySQL,而不需要任何用户或密码。

这使我困扰于默认情况,我试图调查它。 以root身份login需要root密码。 但是,在没有指定用户的情况下(即,在命令行中inputmysql )login时,我既没有用户也没有input密码。

我想我已经跟踪到了debian-sys-maint这个用户,这个用户似乎一方面拥有完整的MySQL权限,另一方面也是在/etc/mysql/debian.cnf定义的默认客户端用户。

我的第一本能是完全摆脱用户,因为这对我来说似乎是一个安全漏洞,但在阅读后,包括下面链接的post,似乎需要debian-sys-maint

所以我的计划是尝试以下几点:

 REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'debian-sys-maint'; GRANT RELOAD on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'xxxxxx'; FLUSH PRIVILEGES; 

任何人都可以评论这个build议/预期/正确的方式来保证默认的MySQL安装?

我是否也应该修改/etc/mysql/debian.cnf以删除此部分?

 [client] host = localhost user = debian-sys-maint password = xxxxxx socket = /var/run/mysqld/mysqld.sock 

(它警告: # Automatically generated for Debian scripts. DO NOT TOUCH!

我打算用我自己的~/.my.cnf客户端部分replace它。


更新: /etc/mysql/debian.cnf上的权限是:

 -rw------- 1 root root 312 2012-05-20 23:07 /etc/mysql/debian.cnf 

参考文献:

  • 什么是debian-sys-maint MySQL用户(以及更多)?
  • https://stackoverflow.com/questions/4898422/why-do-i-have-debian-sys-maint-instead-of-a-mysql-root-user
  • debian-sys-maint用户在mysql中?

答案是debian-sys-maint帐户是一个红鲱鱼。

我所看到的现象是一个MySQL“匿名”用户。

这是由我昨天发布的以下两个问题来回答的:

  • MySQL允许没有密码的input
  • MySQL 5.5.16允许匿名连接
  • MySQL的默认用户