Я пытаюсь настроить несколько рабочих станций Linux (RedHat 7) и выяснить, как настроить аутентификацию на сервере LDAP с некоторыми необычными требованиями.
Я в принципе знаю, как настроить аутентификацию LDAP с помощью sssd, но не знаю, как ограничить аутентификацию только определенными пользователями, чтобы удовлетворить мои требования.
Чтобы включить конфигурацию LDAP, я бы использовал следующую командную строку:
authconfig --enableldap --enableldapauth --ldapserver="<redacted>" --ldapbasedn="<redacted>" --update --enablemkhomedir
Это позволит всем пользователям LDAP войти в систему, и, насколько мне известно, работает просто отлично. Однако мое требование заключается в том, чтобы только некоторые пользователи из LDAP могли войти в систему, а список пользователей будет предоставлен в отдельном текстовом файле (по имени пользователя для входа).
Дополнительная информация: У нас есть сервер LDAP (на самом деле Active Directory) с парой тысяч пользователей. Только около 20 из них, которым необходимо работать на этих рабочих станциях, должны иметь право на вход в эти рабочие станции. К сожалению, LDAP не содержит никакой информации, связанной с этим, и у меня нет контроля над сервером LDAP. Вместо этого каждые пару недель я получаю текстовый файл со списком имен пользователей, которым должен быть разрешен вход в систему.
Как настроить аутентификацию для использования LDAP для имени пользователя/пароля/идентификатора пользователя и т. д., одновременно ограничив ее только пользователями из этого списка?
решение1
Я нашел два способа сделать то, что мне было нужно. Первый был описан thrig. Мне пришлось добавить каждое имя пользователя по отдельности в /etc/security/access.conf.
Второй вариант — указать строку запроса LDAP в sssd.conf:
ldap_access_filter = (|(userid=user1)(userid=user2).....)
Второе решение очень утомительно в реализации, но в конечном итоге обеспечивает значительный выигрыш в производительности в больших средах LDAP, поскольку sssd извлекает только несколько записей LDAP.
решение2
Поместите этих пользователей в группу, а затем используйте pam_access
правило, /etc/security/access.conf
разрешающее вход в систему только в том случае, если пользователь входит в эту группу (а также для root
любых системных администраторов и мониторинга, если необходимо), например:
+ : root wheel nagios : ALL
+ : yourusergrouphere : ALL
- : ALL : ALL