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. Проверьте файл конфигурации Керберос /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