我跑:
show grants for root@localhost;
Run Code Online (Sandbox Code Playgroud)
我看到
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
Run Code Online (Sandbox Code Playgroud)
来自 mysql 文档:
https://dev.mysql.com/doc/refman/5.5/en/proxy-users.html
这使得外部用户可以成为第二个用户的代理;也就是拥有第二个用户的权限。换句话说,外部用户是“代理用户”(可以冒充或成为其他用户的用户),第二个用户是“代理用户”(其身份可以被代理用户使用的用户) .
但我不明白他们的意思。我从另一位离职的工人那里得到了这个系统,想确保一切是否安全,不知道是否需要这笔补助金。但如果它不会造成任何安全问题,我可以离开它。
有人可以用更简单的方式解释吗?
更新:
我如何以其他用户的身份连接?我正在尝试用户名密码的各种组合,但无法连接。
例如,我使用了 root 用户,但使用了另一个用户的密码,这不起作用。尝试了另一个用户和 root 密码,也没有奏效。
更新:
或者这可能意味着 root 用户可以作为其他用户连接?至少如何做到这一点,例如,如果是这样?
MySQL 用户身份验证是一个解释起来相当漫长的过程。我建议您参考我 3.5 年前对MySQL 错误的回答:用户'a'@'localhost'访问被拒绝(使用密码:YES),这样您就可以看到用户进行身份验证所采取的步骤。
PROXY 授权的作用是允许一个用户伪装成另一用户并绕过 MySQL 正常但冗长的用户身份验证协议。
如果有人知道这一点并开始利用它,这种代理授权可能会成为一个安全漏洞。停用此功能的最快方法是运行
TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
这将消除当前的代理权限。
之后,如果您想限制代理权限,请转到操作系统并执行以下操作:
cd /var/lib/mysql/mysql
chmod -w proxies_priv.*
Run Code Online (Sandbox Code Playgroud)
这将阻止创建新的代理权限。
归档时间: |
|
查看次数: |
16729 次 |
最近记录: |