mysql和unix用户控制

假设我的UNIX机器上有两个用户 – user1和user2。 我也有两个MySQL数据库 – db1(mysql_user1)和db2(mysql_user2)。

我想阻止user1连接到db2,即使它使用mysql_user2凭证。 我希望有可能做到这一点。

如果你真的想这样做,你可以运行两个独立的MySQL实例,每个数据库一个。 然后

  1. 通过套接字停止与MySQL的连接,并要求它们全部通过networking接口; 让我们假设database1的侦听器位于3307端口,而database2位于3308(MySQL正常侦听3306)。
  2. 阻止user1拥有的进程连接到database2的TCP侦听器,如下所示:

iptables -A OUTPUT -p tcp --dport 3307 -o lo -m owner --uid-owner user1 -j REJECT

我并不主张这样做 ,但是如果真的要真的让用户无法与错误的数据库进行交stream,更不用说对其进行身份validation,那么就应该起作用。

如果证书被泄露,则无法阻止访问user2有权访问的任何内容。