Mysql
使用 SSSD 進行 AD 身份驗證的 Percona PAM
我已經在我的 Percona 伺服器上安裝了 percona PAm 外掛,如下所示:
mysql> show plugins; ... | auth_pam | ACTIVE | AUTHENTICATION | auth_pam.so | GPL | | auth_pam_compat | ACTIVE | AUTHENTICATION | auth_pam_compat.so | GPL | +-------------------------------+----------+--------------------+--------------------+---------+
並且還配置了這個:
cat /etc/pam.d/mysqld auth required pam_sss.so account required pam_sss.so
我在 AD 伺服器上有一個名為“dba”的組,並在該組中添加了一個 AD 使用者“john.d”。所以我想使用 Ad 使用者登錄 MySQL,例如 john.d,他還應該繼承授予“dba”組的所有權限。下面是這個 AD 組“dba”是如何允許其使用者訪問 Percona 伺服器的設置:
CREATE USER ''@'' IDENTIFIED WITH auth_pam AS 'mysqld,dba=dbarole'; CREATE USER 'dbarole'@'%' IDENTIFIED BY 'dbapass'; GRANT ALL PRIVILEGES ON *.* TO 'dbarole'@'%'; GRANT PROXY ON 'dbarole'@'%' TO ''@'';
當我以 dbarole 身份登錄 mysql 時,所有授予的權限都執行良好。但是,當我以 john.d(包含在“dba”AD 組中的 AD 使用者之一)身份登錄時,該使用者不會繼承授予其組的權限 (ALL),而只有 USAGE 權限,如下所示:
mysql> show grants; +-----------------------------------+ | Grants for @ | +-----------------------------------+ | GRANT USAGE ON *.* TO ''@'' | | GRANT PROXY ON 'dba'@'%' TO ''@'' | +-----------------------------------+ 2 rows in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.01 sec)
我的問題是,我怎樣才能讓 AD 使用者繼承授予他們在 MySQL 中的組的權限?
我所要做的就是使用以下領域命令添加 dba 組:
realm permit -g dba
這樣做會自動更改 /etc/sssd/sssd.conf 文件並添加以下行:
access_provider = simple simple_allow_groups = dba
在執行 real 之前,access_provider 設置為“ad”,並自動更改為“simple”,如上圖所示。