MySQL GRANT PROXY-是什么意思?


14

我跑:

show grants for root@localhost;

我看到

 GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

从mysql文档:

https://dev.mysql.com/doc/refman/5.5/zh-CN/proxy-users.html

这使外部用户可以成为第二个用户的代理。即具有第二个用户的特权。换句话说,外部用户是“代理用户”(可以模仿或成为另一个用户的用户),第二个用户是“代理用户”(其身份可以由代理用户使用的用户) 。

但是我不明白他们的意思。我是从另一个下班的工人那里得到的系统,他想确保一切都安全,甚至不知道是否需要这项补助。但是,如果它没有造成任何安全问题,我可以保留。

有人可以用更简单的方式解释吗?

更新:

如何以其他用户身份连接?我尝试使用用户名密码的各种组合,但无法使其连接。

例如,我使用root用户,但使用了另一个用户的密码,该密码不起作用。尝试了另一个用户和root密码,也无法正常工作。

更新:

还是这意味着root用户可以作为其他用户连接?至少例如,如何这样做?


“在MySQL安装过程中创建的初始root帐户具有“ @”的PROXY ... WITH GRANT OPTION特权,也就是说,适用于所有用户和所有主机。这使root可以设置代理用户以及进行代理授予其他帐户设置代理用户的权限。” 从这里的文档:dev.mysql.com/doc/refman/5.5/en/proxy-users.html
凯蒂(Katie)

Answers:


3

MySQL用户认证是一个相当漫长的解释过程。我向您介绍了我对MySQL错误有 3.5年历史的答案:用户'a'@'localhost'的访问被拒绝(使用密码:是),因此您可以查看用户进行身份验证的步骤。

PROXY授权所做的是允许一个用户冒充另一位用户,并绕过MySQL正常但冗长的用户身份验证协议

如果有人知道并开始利用这种代理授权,则可能是一个安全漏洞。停用此功能的最快方法是运行

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

这将清除当前的代理权限。

然后,如果要限制代理权限,请转到操作系统并执行以下操作:

cd /var/lib/mysql/mysql
chmod -w proxies_priv.*

这将阻止创建新的代理特权。

试试看 !!!


1
如果我截断表会中断什么怎么办?我可以在截断之前导出-如果有问题,请导出它,然后再次插入这些行,并且一切正常。我看到桌子上有两层。
Darius.V 2015年

我的同事说没有安全漏洞,因为它是根源,而且他仍然拥有所有权利。但是,也许他们不明白我为什么要问-我可以以root用户身份与某些非root用户连接,因为存在代理然后拥有权限?
Darius.V,2015年

注意:此答案并未显示如何使用代理功能
Alastair Irvine,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.