Rechercher

1.5. Configuration de Samba en tant que serveur membre d'un domaine AD

download PDF

Si vous utilisez un domaine AD ou NT4, utilisez Samba pour ajouter votre serveur Red Hat Enterprise Linux en tant que membre du domaine afin d'obtenir ce qui suit :

  • Accéder aux ressources du domaine sur d'autres membres du domaine
  • Authentifier les utilisateurs du domaine pour les services locaux, tels que sshd
  • Partager des répertoires et des imprimantes hébergés sur le serveur pour faire office de serveur de fichiers et d'impression

1.5.1. Joindre un système RHEL à un domaine AD

Samba Winbind est une alternative au System Security Services Daemon (SSSD) pour connecter un système Red Hat Enterprise Linux (RHEL) à Active Directory (AD). Cette section décrit comment joindre un système RHEL à un domaine AD en utilisant realmd pour configurer Samba Winbind.

Procédure

  1. Si votre AD nécessite le type de chiffrement RC4, obsolète, pour l'authentification Kerberos, activez la prise en charge de ces algorithmes de chiffrement dans RHEL :

    # update-crypto-policies --set DEFAULT:AD-SUPPORT
  2. Install the following packages:

    # dnf install realmd oddjob-mkhomedir oddjob samba-winbind-clients \
           samba-winbind samba-common-tools samba-winbind-krb5-locator
  3. Pour partager des répertoires ou des imprimantes sur le membre du domaine, installez le paquet samba:

    # dnf install samba
  4. Sauvegarder le fichier de configuration de /etc/samba/smb.conf Samba existant :

    # mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
  5. Rejoindre le domaine. Par exemple, pour rejoindre un domaine nommé ad.example.com:

    # realm join --membership-software=samba --client-software=winbind ad.example.com

    En utilisant la commande précédente, l'utilitaire realm s'affiche automatiquement :

    • Crée un fichier /etc/samba/smb.conf pour un membre du domaine ad.example.com
    • Ajoute le module winbind pour les recherches d'utilisateurs et de groupes au fichier /etc/nsswitch.conf
    • Met à jour les fichiers de configuration du module d'authentification enfichable (PAM) dans le répertoire /etc/pam.d/
    • Démarre le service winbind et permet au service de démarrer lorsque le système démarre
  6. Il est possible de définir un autre back-end de mappage d'identifiants ou des paramètres de mappage d'identifiants personnalisés dans le fichier /etc/samba/smb.conf.

Pour plus de détails, voir Comprendre et configurer le mappage des ID Samba.

  1. Vérifiez que le service winbind est en cours d'exécution :

    # systemctl status winbind
    ...
       Active: active (running) since Tue 2018-11-06 19:10:40 CET; 15s ago
    Important

    Pour permettre à Samba d'interroger les informations sur les utilisateurs et les groupes du domaine, le service winbind doit être en cours d'exécution avant que vous ne lanciez smb.

  2. Si vous avez installé le paquetage samba pour partager des répertoires et des imprimantes, activez et démarrez le service smb:

    # systemctl enable --now smb
  3. En option, si vous authentifiez des connexions locales à Active Directory, activez le plug-in winbind_krb5_localauth. Voir Utilisation du plug-in d'autorisation locale pour MIT Kerberos.

Verification steps

  1. Afficher les détails d'un utilisateur AD, tel que le compte administrateur AD dans le domaine AD :

    # getent passwd "AD\administrator"
    AD\administrator:*:10000:10000::/home/administrator@AD:/bin/bash
  2. Interroger les membres du groupe des utilisateurs du domaine dans le domaine AD :

    # getent group "AD\Domain Users"
        AD\domain users:x:10000:user1,user2
  3. Si vous le souhaitez, vérifiez que vous pouvez utiliser les utilisateurs et les groupes du domaine lorsque vous définissez les autorisations sur les fichiers et les répertoires. Par exemple, pour définir le propriétaire du fichier /srv/samba/example.txt comme étant AD\administrator et le groupe comme étant AD\Domain Users:

    # chown "AD\administrator":"AD\Domain Users" /srv/samba/example.txt
  4. Vérifiez que l'authentification Kerberos fonctionne comme prévu :

    1. Sur le membre du domaine AD, obtenez un ticket pour le principal administrator@AD.EXAMPLE.COM:

      # kinit administrator@AD.EXAMPLE.COM
    2. Affiche le ticket Kerberos mis en cache :

      # klist
      Ticket cache: KCM:0
      Default principal: administrator@AD.EXAMPLE.COM
      
      Valid starting       Expires              Service principal
      01.11.2018 10:00:00  01.11.2018 20:00:00  krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM
              renew until 08.11.2018 05:00:00
  5. Affichez les domaines disponibles :

    # wbinfo --all-domains
    BUILTIN
    SAMBA-SERVER
    AD

Ressources supplémentaires

1.5.2. Utilisation du plug-in d'autorisation locale pour MIT Kerberos

Le service winbind fournit des utilisateurs Active Directory au membre du domaine. Dans certaines situations, les administrateurs souhaitent permettre aux utilisateurs du domaine de s'authentifier auprès de services locaux, tels qu'un serveur SSH, qui s'exécutent sur le membre du domaine. Lorsque vous utilisez Kerberos pour authentifier les utilisateurs du domaine, activez le plug-in winbind_krb5_localauth pour mapper correctement les principaux Kerberos aux comptes Active Directory via le service winbind.

Par exemple, si l'attribut sAMAccountName d'un utilisateur Active Directory est défini sur EXAMPLE et que l'utilisateur tente de se connecter avec un nom d'utilisateur en minuscules, Kerberos renvoie le nom d'utilisateur en majuscules. Par conséquent, les entrées ne correspondent pas et l'authentification échoue.

En utilisant le plug-in winbind_krb5_localauth, les noms de comptes sont correctement mappés. Notez que cela ne s'applique qu'à l'authentification GSSAPI et non à l'obtention du ticket initial (TGT).

Conditions préalables

  • Samba est configuré en tant que membre d'un Active Directory.
  • Red Hat Enterprise Linux authentifie les tentatives de connexion par rapport à Active Directory.
  • Le service winbind est en cours d'exécution.

Procédure

Modifiez le fichier /etc/krb5.conf et ajoutez la section suivante :

[plugins]
localauth = {
     module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so
     enable_only = winbind
}

Ressources supplémentaires

  • winbind_krb5_localauth(8) page de manuel.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.