Я настроил свою систему, чтобы разрешить использование LDAP или локального пароля для входа. Я сделал это, добавив «достаточный пароль pam_ldap.so» в PAM и вызвав «pam_unix2.so» впоследствии.
Однако я хотел бы потребовать от определенной группы пользователей пройти аутентификацию только по LDAP, запретив откат pam_unix2.so. Есть ли способ сделать это?
Создайте группу под названием ldaponly
и поместите в него всех пользователей, использующих только LDAP. Затем в конфигурации PAM используйте pam_succeed_if
модуль пропустить pam_unix2
модуль, когда пользователь находится в ldaponly
группа.
Я уже сталкивался с этим сценарием раньше с настроенным мной сервером LDAP.
Лучший совет, который я могу дать, - предложить то, что сработало для меня. Это было бы использовать /etc/security/access.conf
чтобы разрешить доступ только определенным пользователям и группам.
Например, вот запись для access.conf
чтобы запретить доступ всем, кроме root и пользователей, принадлежащих к Group1 и Group2, при попытке входа в систему локально с использованием интерфейса обратной связи 127.0.0.1:
- : ALL EXCEPT root Group1 Group2: 127.0.0.1
Вам также может потребоваться включить pam_access.so
модуль в ваших файлах PAM.
ммм ... возможно, это слишком просто, но поместить пользователей в LDAP и не помещать их в локальный файл паролей?
В моей среде только учетные записи root и service / daemon находятся в локальном файле passwd, и только учетные записи пользователей находятся в LDAP - Работает прекрасно.
Самый простой способ, о котором я могу думать прямо сейчас, - это установить локальные пароли для пользователей «только LDAP» на что-то совершенно странное и не сообщать им. Однако, как только они войдут в систему, они смогут изменить его (если ваша настройка PAM позволяет им это сделать).
Гораздо более изощренным способом было бы написать собственный плагин PAM (который, по-видимому, не так уж и сложен), который мог бы выполнять поиск в списке «только LDAP», а затем возвращать либо true, либо false. Затем это можно было бы использовать в файлах конфигурации PAM, чтобы определить следующий шаг, т.е. разрешить вход или нет.