使用Ubuntu和MySQL的新安装(但很旧),我发现我可以通过命令行客户机访问MySQL,而无需询问任何用户或密码。
这让我感到困扰,因为这是默认情况,我试着去调查。以root用户身份登录需要root密码。但是,在没有指定用户的情况下登录(即只在命令行上输入mysql )要求我既不需要用户也不提供密码。
我想我已经找到了用户debian-sys-maint,它一方面具有完全的MySQL权限,另一方面也是/etc/mysql/debian.cnf中定义的默认客户端用户。
我的第一反应是完全摆脱用户,因为在我看来,这似乎是一个安全漏洞,但是在阅读完包括下面链接的帖子之后,似乎需要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;有人认为这是保护默认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客户端部分来替换它。
更新:/etc/mysql/debian.cnf的权限如下:
-rw------- 1 root root 312 2012-05-20 23:07 /etc/mysql/debian.cnf参考文献:
发布于 2014-08-13 09:58:32
对此的答案是,debian-sys-maint帐户是一个红鲱鱼。
我看到的现象是一个MySQL“匿名”用户。
这两个问题以及我昨天发布的问题都回答了这个问题:
https://serverfault.com/questions/619633
复制相似问题