не могу заставить useradd использовать LDAP

Вопрос или проблема

ОС – Amazon Linux 2023. Я пытаюсь использовать LDAP для управления пользователями и группами для всех новых пользователей. Я установил пакеты openldap-servers, openldap-clients и nss-pam-ldapd. Я настроил SSL на slapd и

ldapwhoami -x -H ldaps://myserver.mydomain.com
ldapwhoami -x -H ldapi:///

оба возвращают анонимного пользователя.

sudo ldapwhoami -H ldapi:///

возвращает dn:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth.

Я настроил nsswitch.conf на:

passwd:       ldap sss files
shadow:       ldap files
group:        ldap sss files

Я настроил nslcd.conf на:

uid root
gid root
uri ldapi:///
base dc=mydomain,dc=com

Когда я выполняю:

sudo useradd -b /home balaguru1

он, похоже, не добавляет пользователя в базу данных LDAP. Файлы в /var/lib/ldap/ не изменены. /etc/passwd изменен с новым пользователем.

Что я упустил?

Ответ или решение

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

1. Проверка конфигурации LDAP

Прежде всего, важно убедиться, что ваш LDAP-сервер правильно настроен для аутентификации и управления пользователями. Вы уже указали, что команды ldapwhoami возвращают данные анонимно. Это может указывать на проблемы с аутентификацией. Для начала вам нужно настроить правильные DN (Distinguished Names) для аутентификации. Проверьте конфигурацию nslcd.conf и добавьте соответствующую строку для аутентификации:

binddn cn=admin,dc=mydomain,dc=com
bindpw ваш_пароль

Кроме того, убедитесь, что у пользователя cn=admin,dc=mydomain,dc=com есть необходимые права на создание пользователей в вашей LDAP-базе.

2. Проверка настроек PAM и NSS

Ваш файл nsswitch.conf должен включать правильные параметры для поиска пользователей и групп в LDAP. Вы указали правильные строки, но важно удостовериться, что пакеты nss-pam-ldapd корректно взаимодействуют с PAM. Проверьте, что ваши конфигурации PAM файла (обычно /etc/pam.d/system-auth) содержат строки, подобные следующим:

auth        required      pam_unix.so nullok try_first_pass
auth        required      pam_ldap.so use_first_pass
account     required      pam_unix.so
account     required      pam_ldap.so
password    required      pam_unix.so nullok try_first_pass use_authtok
password    required      pam_ldap.so use_authtok
session     required      pam_unix.so
session     required      pam_ldap.so

Эти конфигурации позволяют вашему серверу использовать LDAP для аутентификации пользователей.

3. Установка и настройка ldap-useradd

Для того чтобы команда useradd работала с LDAP, необходимо использовать ldap-useradd или подобный инструмент, который поддерживает добавление пользователей в LDAP. По умолчанию useradd добавляет пользователей в локальную базу данных, а не в LDAP. Вам нужно будет установить ldap-utils (если еще не установлено) и использовать ldapadd для добавления пользователей.

Пример команды для добавления пользователя:

ldapadd -x -D "cn=admin,dc=mydomain,dc=com" -W -f новый_пользователь.ldif

4. Проверка прав доступа и логов

Если у вас возникают ошибки при выполнении команд, рекомендуется проверить файлы логов LDAP, расположенные обычно в /var/log/. Посмотрите логи slapd для выявления возможных ошибок или проблем с отражением изменений в LDAP.

sudo tail -f /var/log/slapd.log

Также убедитесь, что служба nslcd запущена и настроена правильно:

sudo systemctl status nslcd

И перезапустите службы LDAP после внесения изменений, чтобы убедиться, что все настройки применены правильно:

sudo systemctl restart slapd
sudo systemctl restart nslcd

5. Заключение

Ваша основная проблема заключается в том, что команда useradd по умолчанию не работает с LDAP и требует использования дополнительных инструментов для управления пользователями. Произведите необходимые изменения в конфигурации LDAP, PAM и NSS, а также установите и используйте соответствующие утилиты для управления пользователями в LDAP. После этого, вы сможете успешно добавлять новых пользователей в вашу LDAP-базу. Если после всех проверок проблема сохранится, возможно, стоит обратиться к документации или сообществу для более глубокой диагностики вашей конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...