Вопрос или проблема
ОС – 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-базу. Если после всех проверок проблема сохранится, возможно, стоит обратиться к документации или сообществу для более глубокой диагностики вашей конфигурации.