В этой статье мы обсудим, как добавить сервера или рабочие станции с RHEL 8, Oracle, Rocky Linux, Fedora, CentOS в домен Active Directory с помощью realmd, и как аутентифицироваться на Linux хосте с помощью учетной записи Active Directory. Сервис Realmd (Realm Discovery) существенно упрощает обнаружение и добавление хостов Linux в домен AD. Realmd использует для проверки и аутентификации учетных записей SSSD (через Kerberos и LDAP) или Winbind.
Сначала нужно установить необходимые пакеты:
$ sudo dnf install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation authselect-compat
$ sudo subscription-manager register
$ sudo subscription-manager attach –auto
В настройках DNS проверьте, что указаны IP адреса хостов, которые могут разрешить имена в домене Active Directory (обычно здесь указываются ближайшие к вам контроллеры домена AD).
$ cat /etc/resolv.conf
nameserver 192.168.42.10 nameserver 192.168.142.10 search vmblog.ru
Проверьте, что ваш хост Linux способен отрезолвить имя вашего домена:
$ realm discover vmblog.ru
vmblog.ru type: kerberos realm-name: VMBLOG.RU domain-name: vmblog.ru configured: no server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools
Убедитесь, что время на вашем хосте синхронизированы с NTP источником в домене (или общим внешним NTP).
Для присоединения Linux хоста к домену Active Directory вам понадобится учетная запись AD с правами администратора домена (или учетная запись, которой делегированы права на добавление компьютеров в домен).
Чтобы добавить хост в домен, выполните:
$ sudo realm join vmblog.com -U apetrov
Укажите пароль учетной записи
Password for apetrov:
Проверьте, что ваш компьютер установил доверительные отношения с доменом:
$ sudo realm list
vmblog.ru type: kerberos realm-name: VMBLOG.RU domain-name: vmblog.ru configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %U@vmblog.ru login-policy: allow-realm-logins
Учетная запись вашего Linux хоста должна появиться в корневом OU Computers в AD.
Чтобы разрешить аутентификацию в Linux с помощью учетной записью пользователя Active Directory нужно sssd:
$ sudo authselect select sssd
$ sudo authselect select sssd with-mkhomedir
Ваш файл /etc/sssd/sssd.conf должен выглядеть примерно так:
$ cat /etc/sssd/sssd.conf
[sssd] domains = vmblog.ru config_file_version = 2 services = nss, pam default_domain_suffix = vmblog.ru [nss] homedir_substring = /home [pam] [domain/example.com] ad_domain = vmblog.ru krb5_realm = VMBLOG.RU realmd_tags = manages-system joined-with-samba cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True use_fully_qualified_names = True fallback_homedir = /home/%u@%d access_provider = ad
После внесения изменения в sssd.conf, перезапустите службу:
$ sudo systemctl restart sssd
Теперь вы может выполнить аутентификацию в Linux с помощью учетной записи Active Directory (указывается в формате UPN: user@vmblog.ru).
Проверьте, что теперь вы можете получить информацию о любом пользователе AD:
$ id apetrov@vmblog.ru
Чтобы разрешить доменным пользователям вход на хост Linux (консоль+SSH), выполните:
$ realm permit apetrov1@vmblog.ru ivanov2@vmblog.ru
Разрешить вход для доменной группы:
$ ream permit -g LinuxAdmins@vmblog.ru
Чтобы разрешить, запретить доступ всем пользователям домена:
$ sudo realm permit --all
$ sudo realm deny --all
По умолчанию у доменных пользователей нет прав на повышение привилегий. Создайте файл:
$ sudo nano /etc/sudoers.d/linux-admins
И добавьте в него пользователей и группы, которым разрешено повышение привилегий с помощью sudo:
%LinuxAdminx@vmblog.ru ALL=(ALL) ALL aivanov@vmblog.ru ALL=(ALL) ALL
Измените права на файл:
$ chmod 0440 /etc/sudoers.d/linux-admins
Теперь попробуйте аутентифицироваться на вашем Linux хосте с доменной учетной записью.
Процесс добавления Ubuntu/Debian в домен AD описан в другой статье.
1 comment
клиентская ОС не пингуется с сервера по доменному имени