Mysql
禁用 MySQL 使用者的密碼更改
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';
… where
AS 'mysql'
指的是一個文件/etc/pam.d/mysql
。如果使用者隨後嘗試設置他們的密碼(我僅在 MariaDB 上使用 unix_socket 外掛對此進行了測試):
SET PASSWORD = PASSWORD('My_very_clever_password');
…該查詢將“工作”,但它會發出警告:
SET PASSWORD 對通過外掛進行身份驗證的使用者沒有意義