有人告诉我,mysql 用户与 root 用户类似,默认“没有密码”。
不是空密码,而是“无密码”。我不知道这种情况是可能的 - 我以为 Linux 上每个用户都必须有密码。
我错了吗?你能给我一个可以解释这一点的链接吗?
答案1
在 unix 中添加用户时,有没有注意到它不会提示您输入密码?试试看:useradd testuser
。没有询问吗?只是给了你一个新的命令提示符。恭喜,现在您有一个没有密码的用户。
当然,您不能使用该用户登录,除非您为其设置密码,所以这不是一个很大的安全漏洞。这就是 mysql 用户未设置密码的原因:如果它有默认密码,那将是一个巨大的安全漏洞,因为您可以使用该用户登录并拥有对数据库的权限。
如果你查看 /etc/shadow 文件,你会看到用户密码处有一个 !。这表示该帐户已被锁定。
答案2
Linux 系统上有许多用户是操作系统正常运行所必需的,但这些用户并非登录用户。这些用户都不应有密码。