Назад | Перейти на главную страницу

проверить только одного пользователя с помощью pam ldap и nslcd

Я хочу, чтобы только пользователь «theuser» входил на этот хост.

Я пробовал в nslcd.conf следующее:

pam_authz_search (&(objectClass=posixAccount)(IsActive=TRUE)(uid=theuser))

но все могут войти. Если вместо pam_authz_search я использую команду «filter», она работает, но getent возвращает только одного пользователя, «theuser».

ОБНОВИТЬ: ОС - ubuntu 12.10, я использую libpam-ldapd НЕ libpam-ldap

Вы можете контролировать, кто входит на сервер (независимо от источника пользовательской базы данных) с помощью файла /etc/security/access.conf. Для этого механизма вам необходимо включить модуль pam_access (обычно на этапе учетной записи). Либо в /etc/pam.d/common-account для всех служб, или в чем-то вроде /etc/pam.d/sshd, чтобы сделать его эффективным только для соединений ssh.

Подробности смотрите на страницах man для access.conf и pam_access.

Также есть AllowUsers и AllowGroups в / etc / ssh / sshd_config, которые также можно использовать для управления доступом, предполагая, что у них есть только ssh-доступ к ящику.

Например, для RHEL6:

отредактируйте /etc/pam_ldap.conf примерно так:

pam_filter | (uid = myuid)

и оставьте /etc/nslcd.conf без изменений. Это позволит вам просматривать всех пользователей, использующих "id someuser", но разрешить вход только "myuid".