Mysql

禁用 MySQL 使用者的密碼更改

  • March 25, 2018

MySQL 使用者是否可以僅使用 USAGE 選項來防止/禁用更改密碼?不允許全域權限。我試圖Google,但沒有運氣。

實現此目的的一種方法是使用可插入身份驗證。這種方式密碼儲存在外部,因此不能從 mysql 中更改。這允許您使用 PAM、LDAP 或其他身份驗證服務。

對於PAM,假設您已經在作業系統中配置了 PAM(假設下面是 Linux),那麼在 MySQL 中執行以下操作:

INSTALL PLUGIN authentication_pam SONAME 'authentication_pam.so';
CREATE USER bob@'%' IDENTIFIED WITH authentication_pam AS 'mysql'; 

… whereAS 'mysql'指的是一個文件/etc/pam.d/mysql

如果使用者隨後嘗試設置他們的密碼(我僅在 MariaDB 上使用 unix_socket 外掛對此進行了測試):

SET PASSWORD = PASSWORD('My_very_clever_password');

…該查詢將“工作”,但它會發出警告:

SET PASSWORD 對通過外掛進行身份驗證的使用者沒有意義

引用自:https://dba.stackexchange.com/questions/192913