Вопрос или проблема
Я настроил свой сервер как контроллер домена с помощью Samba
sudo samba-tool domain provision \
--interactive \
--use-rfc2307 \
--backend-store=mdb \
--backend-store-size=16Gb \
--function-level=2016 \
--option="ad dc functional level = 2016"
Я могу подключать другие машины к домену (используя sssd) и входить в них, используя свои учетные записи домена. Но я не могу войти на свой контроллер домена с учетной записью доменного администратора. Я пытался использовать sssd, но в каждой инструкции, которую я видел, говорилось, что нужно присоединить компьютер к домену (но я уже нахожусь в домене как контроллер домена). Может кто-то сказать, возможно ли это сделать, и если да, то как?
Когда я пытаюсь войти
sudo login [email protected]
я получаю ошибку – пользователь не найден
Если я
id [email protected]
или
id administrator
я также получаю id: «[email protected]»: Такого пользователя не существует
Ответ или решение
Чтобы войти в контроллер домена Samba с использованием учетной записи домена, нужно учитывать некоторые аспекты, так как базовая конфигурация может не позволять это делать напрямую. Выполним поэтапно необходимые действия для решения вашей проблемы.
Шаг 1: Убедитесь, что учетная запись существует
Прежде всего, убедитесь, что учетная запись, с которой вы пытаетесь войти, действительно существует в вашем домене. Ваша команда для проверки:
sudo samba-tool user show administrator
Эта команда должна показать информацию о пользователе "administrator". Если учетная запись отсутствует, вам нужно создать её:
sudo samba-tool user create administrator your_password --given-name "Admin" --surname "User"
Шаг 2: Проверка Kerberos
Контроллер домена использует Kerberos для аутентификации. Убедитесь, что файл конфигурации Kerberos правильно настроен (/etc/krb5.conf
):
[libdefaults]
default_realm = YOUR_DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
YOUR_DOMAIN.LOCAL = {
kdc = your_domain_controller_ip
admin_server = your_domain_controller_ip
}
[domain_realm]
.your_domain.local = YOUR_DOMAIN.LOCAL
your_domain.local = YOUR_DOMAIN.LOCAL
Замените YOUR_DOMAIN
на ваше фактическое имя домена и your_domain_controller_ip
на IP-адрес вашего контроллера домена.
Шаг 3: Установка необходимых пакетов
Сначала убедитесь, что у вас установлены все необходимые пакеты:
sudo apt install samba sssd sssd-tools
Шаг 4: Настройка SSSD
Добавьте или отредактируйте файл конфигурации SSSD (/etc/sssd/sssd.conf
):
[sssd]
domains = YOUR_DOMAIN.local
config_file_version = 2
services = nss, pam
[domain/YOUR_DOMAIN.local]
ad_domain = YOUR_DOMAIN.local
krb5_realm = YOUR_DOMAIN.LOCAL
realmd_tags = manages-system joined-with-adcli
default_shell = /bin/bash
use_fully_qualified_names = False
fallback_homedir = /home/%u
id_provider = ad
auth_provider = ad
access_provider = open
# Измените настройки по вашему усмотрению
Не забудьте установить правильные права на файл:
sudo chmod 600 /etc/sssd/sssd.conf
Шаг 5: Перезапуск SSSD и Samba
Перезапустите службы SSSD и Samba:
sudo systemctl restart sssd
sudo systemctl restart samba
Шаг 6: Логин на контроллере домена
Теперь попробуйте выполнить логин с использованием su
или sudo
:
sudo su - administrator
Если вы все сделали правильно, то вы должны войти в систему под учетной записью администратора домена.
Решение ошибок
Если вы всё ещё получаете сообщения о том, что пользователи не найдены, проверьте, правильно ли вы используете имя учетной записи. Как правило, членство в домене подразумевает использование полного доменного имени (например, administrator@your_domain.local
). Попробуйте так:
sudo su - [email protected]
Это должно позволить вам успешно войти в систему.
Заключение
Если вы выполнили все шаги, но по-прежнему не можете войти, рекомендуется просмотреть логи Samba и SSSD для поиска возможных ошибок:
sudo journalctl -u sssd
sudo tail -f /var/log/samba/log.samba
Возможно, вы найдете информацию о причине отказа в доступе.