Активация конфигурации PAM для Percona

Я пытаюсь настроить Percona с поддержкой LDAP через PAM, включая групповые сопоставления и ограничения. Моя настройка аутентификации Percona выглядит следующим образом:

INSTALL PLUGIN pam SONAME 'auth_pam.so';

create user 'dba'@'%' IDENTIFIED WITH auth_pam AS 'mysql';
grant all privileges on *.* to 'dba'@'%' with grant option;

create user 'dbr'@'%' IDENTIFIED WITH auth_pam AS 'mysql';
grant select on *.* to 'dbr'@'%';

CREATE USER ''@'' IDENTIFIED WITH auth_pam AS 'mysql, sudo=dba, mysql=dbr';
GRANT PROXY ON 'dba'@'%' TO ''@'';
GRANT PROXY ON 'dbr'@'%' TO ''@'';

И в /etc/pam.d/mysql у меня есть:

auth required pam_warn.so
auth required pam_ldap.so
account required pam_ldap.so
account required pam_succeed_if.so user ingroup mysql

С ними работает следующее:

  • Войдите в систему как пользователь LDAP в sudo (и mysql ), получите привилегии dba.
  • Войдите как пользователь LDAP в mysql, получите привилегии dbr.
  • Попытка войти в систему с недопустимым именем пользователя и / или паролем, не получить доступа.

И следующее поведение неверно (следует полностью отказаться от входа в систему):

  • Войдите в систему как пользователь LDAP в sudo (но не в MySQL), все равно получите привилегии dba.
  • Войдите в систему как пользователь LDAP в системе. ни одна из групп, не получит доступа без привилегий.

Потребовалось некоторое время, чтобы в конечном итоге выяснить, что конфигурация в /etc/pam.d/mysql не действует. Поведение такое же, даже когда этот файл отсутствует.

Насколько я понимаю, первое значение в строке mysql, sudo = dba, mysql = dbr указывает Percona использовать конфигурацию PAM в файл с именем mysql, и во всех руководствах показано разрешение имени файла на /etc/pam.d/mysql .

Что мне не хватает?

0
задан 9 December 2016 в 09:52
1 ответ

Проблема оказалась в правах доступа к файлам. Когда /etc/pam.d/mysql был изменен с 0640 на 0644 (o + r), конфигурация PAM начала влиять на логин, как и ожидалось.

]
0
ответ дан 5 December 2019 в 09:06

Теги

Похожие вопросы