Проблема с получением XRDP для аутентификации через LDAP

У меня есть конфигурация, где у меня есть корпоративный активный каталог, который содержит имена пользователей и пароли, которые используются для аутентификации. Я поддерживаю свои собственные облачные ресурсы, в моем случае Linux RHEL 7 хосты; Мне дана готовая конфигурация, в которой я создаю локальные (/etc/passwd) учетные записи для всех пользователей на каждом хосте Linux, и эта учетная запись аутентифицируется с помощью krb5 в корпоративной AD. Это все хорошо и работает.

Однако я хочу поместить свою пользовательскую информацию в LDAP вместо того, чтобы поддерживать пользовательскую информацию на каждом хосте. Поэтому я настроил серверы и клиенты nslcd и openldap. Я определяю пользовательскую информацию (эквивалентную / etc / passwd) в OpenLDAP, но оставляю информацию о пароле вне (это все еще в AD). Эта конфигурация работает, когда я захожу на хост через ssh (putty).

Я также хочу войти на хосты Linux через XRDP, а не через VNC (так как я из Windows). Если я использую локальную конфигурацию файла, такую, что пользователи находятся в /etc/passwd, krb5 для корпоративной AD для аутентификации пароля, XRDP работает. Однако, когда я вынимаю пользователя из / etc / passwd и shadow, помещаю его в LDAP, даже если ssh login работает, XRDP login не делает этого.

/etc/pam.d/sshd и /etc/pam.d/xrdp-sesman идентичны; оба сначала содержат записи AD через pam_krb5, а затем обычные конфигурации входа в систему Unix/LDAP.

Проблема заключается в том, что pam_krb5 не получает информацию UID/GID при входе через XRDP.

С пользователем в LDAP / var / log / secure для ssh выглядит так:

Oct  3 13:20:56 host sshd[2407]: pam_krb5[2407]: TGT verified
Oct  3 13:20:56 host sshd[2407]: pam_krb5[2407]: authentication succeeds for 'USER' (USER@DOMAIN)
Oct  3 13:20:56 host sshd[2407]: Accepted password for USER from IP_ADDR port 63785 ssh2
Oct  3 13:20:56 host sshd[2407]: pam_unix(sshd:session): session opened for user USER by (uid=0)

Когда пользователь находится в /etc/passwd, XRDP (работает) /var/log/secure выглядит примерно так:

Oct  3 13:17:55 host xrdp-sesman[799]: pam_krb5[799]: TGT verified
Oct  3 13:17:55 host xrdp-sesman[799]: pam_krb5[799]: authentication succeeds for 'USER' (USER@DOMAIN)
Oct  3 13:17:55 host xrdp-sesman[2143]: pam_unix(xrdp-sesman:session): session opened for user USER by (uid=0)
Oct  3 13:17:56 host polkitd[495]: Registered Authentication Agent for unix-session:9 (system bus name :1.54 [/usr/libexec/xfce-polkit], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)

Но затем, в конфигурации, которая не работает, пользователь только в LDAP, XRDP, я получаю это в /var/log/secure:

Oct  3 13:21:40 host xrdp-sesman[799]: pam_krb5[799]: error resolving user name 'USER' to uid/gid pair
Oct  3 13:21:40 host xrdp-sesman[799]: pam_krb5[799]: error getting information about 'USER'
Oct  3 13:21:40 host xrdp-sesman[799]: pam_unix(xrdp-sesman:auth): check pass; user unknown
Oct  3 13:21:40 host xrdp-sesman[799]: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty=xrdp-sesman ruser= rhost=

Я пробовал различные изменения файла pam без успеха. И я искал любой вариант, о котором я мог думать, не находя подобную проблему / решение. Любые рекомендации будут оценены. Спасибо!

1 ответ

Решение

Я понял, чего мне не хватало. Оказывается, у меня не было записей конфигурации LDAP в /etc/libuser.conf. Я правильно добавил информацию о соединении LDAP в libuser.conf, перезагрузился (не уверен, было ли это необходимо или нет), и затем я получил ожидаемый правильный результат входа во всех случаях использования.

Я не видел ссылок на необходимость обновления этого файла в каких-либо руководствах по настройке LDAP, которые я мог найти (и я никогда не вспоминал об этом в прошлом при настройке системы, хотя, возможно, какая-то команда делала это для меня). Я впервые попробовал конфигурацию OpenLDAP с XRDP. Так что, предположительно, какое-то взаимодействие там другое (очевидно, на основе того, что я видел).

Другие вопросы по тегам