Как подключиться к домену Active Directory с помощью Realmd (настроить CentOS / RHEL 7 как клиент active directory)

Мануал

Что такое realmd

Realmd предоставляет простой способ обнаружения и объединения доменов идентификации.

Он настраивает системные службы Linux, такие как sssd или winbind, для фактической проверки подлинности сети и поиска учетных записей пользователей.

С выпуском CentOS / RHEL 7 realmd полностью поддерживается и может использоваться для присоединения к доменам IdM, AD или Kerberos.

Основным преимуществом использования realmd является возможность предоставления простой однолинейной команды для регистрации в домене, а также для настройки сетевой аутентификации.

Например, realmd может легко настроить:

  • PAM Stack
  • NSS Layer
  • Kerberos
  • SSSD
  • Winbind

Настройка CentOS / RHEL 7 как клиент Active Directory, используя realmd

Выполните шаги, описанные ниже, чтобы настроить клиент Linux с помощью Realmd для подключения к домену Active Directory (AD).

1. Установите необходимые пакеты для настройки клиента AD.

# yum install realmd oddjob oddjob-mkhomedir sssd adcli openldap-clients policycoreutils-python samba-common samba-common-tools krb5-workstation

Мы можем использовать подкоманду list, чтобы гарантировать, что мы не являемся частью домена:

# realm list

Вывод должен быть пустым. Теперь мы готовы приступить к следующему шагу – нахождению домена и присоединению к домену.

2. Найдите домен AD и присоединитесь к приведенным ниже командам.

# realm discover ad.example.com
ad.example.com
type: kerberos
realm-name: AD.EXAMPLE.COM
domain-name: ad.example.com
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
# realm join ad.example.com
Password for Administrator:
realm: Joined ad.example.com domain

3. Проверьте конфигурационный файл kerberos /etc/krb5.conf на наличие:

# cat /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default = DOMAIN.EXAMPLE.COM
 dns_lookup_realm = true
 dns_lookup_kdc=true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 default_ccache_name = KEYRING:persistent:%{uid}
default_realm = DOMAIN.EXAMPLE.COM
default_ccache_name = KEYRING:persistent:%{uid}

[realms]
  AD.EXAMPLE.COM = {
   kdc = [hostname_of_server].domain.example.com:88
   admin_server = domain.example.com
}

[domain_realm]
 .domain.example.com = DOMAIN.EXAMPLE.COM
 domain.example.com = DOMAIN.EXAMPLE.COM

4. Проверьте, есть ли в  /etc/sssd/sssd.conf записи типа:

# cat /etc/sssd/sssd.conf
[sssd]
domains = domain.example.com
config_file_version = 2
services = nss, pam

[domain/domain.example.com]
ad_server = domain.example.com
ad_domain = domain.example.com
krb5_realm = DOMAIN.EXAMPLE.COM
realmd_tags = manages-system joined-with-adcli
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
enumeration = True

5. Назначьте соответствующее права для sssd.conf.

# chown root:root /etc/sssd/sssd.conf
# chmod 0600 /etc/sssd/sssd.conf
# restorecon /etc/sssd/sssd.conf
# authconfig --enablesssd --enablesssdauth --enablemkhomedir --update
# systemctl start sssd

Проверка

Проверьте соединение с помощью следующих команд:

# id user@domain.example.com
# ssh user@domain.example.com

Пример этой команды показан ниже.

# id user@ad.example.com
uid=1348601103(user@ad.example.com) gid=1348600513(domain users@ad.example.com) groups=1348600513(domain users@ad.example.com)
# ssh user@ad.example.com@127.0.0.1
user@ad.example.com@127.0.0.1's password:
Creating home directory for user@ad.example.com.

$ pwd
/home/ad.example.com/user

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

  1. Дмитрий

    Добрый день, не планируете случайно сделать подобный мануал для “десктопов” ?
    У меня на сервере завелось с пол пинка, а вот на рабочей станции не получилось авторизовать доменного пользователя используя графическую оболочку.

    Ответить
    1. cryptoparty автор

      Добрый день, зависает при входе?

      Ответить
      1. Дмитрий

        На входе пишет “Не сработало.Попробуйте ещё раз.”
        В логе есть запись.

        pam_sss(gdm-password:account): Access denied for user user@domain.org: 4 (Системная ошибка).

        OS Fedora workstation 30.
        Думаю проблема тривиальная, но в гугле решения пока не нашел.
        Сам не осилю, слишком зелен.

        Ответить