Qu'est-ce que realmd
Realmd fournit un moyen simple de découvrir et de joindre des domaines d'identité. Il configure les services système Linux tels que sssd ou winbind pour effectuer l'authentification réseau réelle et les recherches de comptes d'utilisateurs. Avec la sortie de CentOS/RHEL 7, realmd est entièrement pris en charge et peut être utilisé pour rejoindre les domaines IdM, AD ou Kerberos. Le principal avantage de l'utilisation de realmd est la possibilité de fournir une simple commande en une ligne pour s'inscrire dans un domaine ainsi que pour configurer l'authentification réseau. Par exemple, realmd peut facilement configurer :
- Pile PAM
- Couche NSS
- Kerberos
- SSSD
- Winbind
Configurer CentOS/RHEL 7 en tant que client Active Directory à l'aide de realmd
Suivez les étapes décrites ci-dessous pour configurer le client Linux à l'aide de Realmd pour se connecter à un domaine Active Directory (AD).
1. Installez les packages requis pour configurer le client AD.
# yum install realmd oddjob oddjob-mkhomedir sssd adcli openldap-clients policycoreutils-python samba-common samba-common-tools krb5-workstation
Nous pouvons utiliser la sous-commande list pour nous assurer que nous ne faisons pas actuellement partie d'un domaine :
# realm list
La sortie doit être vide. Nous sommes maintenant prêts à passer à l'étape suivante :découvrir et rejoindre le domaine.
2. Découvrez le domaine Active Directory et joignez-vous aux commandes ci-dessous.
# 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. Vérifiez le fichier de configuration kerberose /etc/krb5.conf à inclure :
# 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. Vérifiez que /etc/sssd/sssd.conf contient les entrées ci-dessous.
# 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. Attribuez l'autorisation appropriée à 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
Vérifier
Vérifiez la connexion avec la commande suivante :
# id [email protected] # ssh [email protected]
Des exemples de ces commandes sont présentés ci-dessous.
# id [email protected] uid=1348601103([email protected]) gid=1348600513(domain [email protected]) groups=1348600513(domain [email protected])
# ssh [email protected]@127.0.0.1 [email protected]@127.0.0.1's password: Creating home directory for [email protected]. $ pwd /home/ad.example.com/user