Попробовать аутентификацию LDAP перед локальной аутентификацией

Я установил систему LDAP в своей локальной сети (CentOS7), и, похоже, она работает должным образом . Теперь я создал пользователя в LDAP, имя которого точно такое же, как имя уже существующего локального пользователя на одном из моих клиентов LDAP. Когда я проверяю их наличие на клиенте, например:

getent passwd | grep anakin

, я получаю:

anakin:x:1000:1000:Anakin Skywalker:/home/anakin:/bin/bash
anakin:*:2000:1000:Anakin Skywalker:/home/anakin:/bin/bash

, так что я знаю, что оба они действительно существуют. Поэтому, когда я вхожу в систему как anakin и проверяю свой идентификатор, он сообщает мне:

uid=1000(anakin) gid=1000(Jedi) [...]

Для меня это выглядит так, как будто я вошел в систему как локальный пользователь, а не как пользователь LDAP. Возможно, это настроено по умолчанию, так что это нормально, но как мне это изменить, чтобы я вошел в систему как пользователь LDAP до того, как машина проверит наличие локальных пользователей с тем же именем пользователя? Я полагаю, это как-то связано с pam , но на самом деле все файлы в /etc/pam.d/ начинаются с:

# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.

Я попытался решить свою проблему с помощью authconfig --disableshadow , но не добился никакого прогресса.

Другое дело, если у меня разные пароли для обоих пользователей с одним и тем же именем, я могу войти с обоими паролями, но всегда оказываюсь как локальный пользователь, даже если я использовал пароль пользователя LDAP. Я не знаю, действительно ли аутентификация должна работать так.

1
задан 21 June 2019 в 16:28
2 ответа

Это никак не связано с конфигурационными файлами в /etc/pam.d или даже PAM вообще.

Ссылающаяся служба известна как Name Service Switch, (NSS); ее назначение - опрашивать информацию из различных доступных баз данных, напр, passwd, group, shadow, etc.

Порядок записей в /etc/nsswitch.conf - это порядок, в котором будет опрашиваться каждая база данных.

Как указано в mdpc, из-за проблем, связанных с сетью, опрос пользователей через LDAP иногда может привести к неудаче. Однако, здесь может помочь что-то вроде nscd .

Nscd используется для кэширования этих записей базы данных; это может улучшить производительность, но может также стать причиной дальнейшей путаницы, т.е. если кэшируемый пароль пользователя изменится в каталоге, может пройти некоторое время, прежде чем он будет обновлен локально.

.
2
ответ дан 3 December 2019 в 18:23

Я считаю, что место для изменения - nsswitch.conf.

Однако, предупреждение заключается в том, что в случае возникновения сетевой проблемы, вы можете захотеть иметь несколько локальных учетных записей для восстановления, то, что вы предлагаете, может вызвать некоторые проблемы. Поэтому я бы все равно остался с passwd: local ldap и удалил все перекрывающиеся учетные записи.

.
1
ответ дан 3 December 2019 в 18:23

Теги

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