Pour prendre en charge True SSO sur des postes de travail Ubuntu/Debian, intégrez la machine virtuelle (VM) de base à un domaine Active Directory (AD) à l'aide des solutions Samba et Winbind.

Pour intégrer une VM Ubuntu/Debian à un domaine AD, utilisez la procédure suivante.

Certains exemples de la procédure utilisent des valeurs d'espace réservé pour représenter des entités dans votre configuration réseau, telles que le nom d'hôte de votre VM. Remplacez les valeurs d'espace réservé par des informations spécifiques à votre configuration, comme décrit dans le tableau suivant.

Valeur d'espace réservé Description
dns_IP_ADDRESS Adresse IP de votre serveur de nom DNS
mydomain.com Nom DNS de votre domaine AD
MYDOMAIN.COM Nom DNS de votre domaine AD en majuscules
myhost Nom d'hôte de votre VM Ubuntu/Debian
MYDOMAIN Nom DNS du groupe de travail ou domaine NT qui inclut votre serveur Samba, en majuscules
ads-hostname Nom d'hôte de votre serveur AD
admin-user Nom d'utilisateur de l'administrateur de domaine AD

Conditions préalables

Vérifiez les points suivants :
  • Le serveur AD peut être résolu par DNS sur la VM.
  • Le protocole NTP (Network Time Protocol) est configuré sur la VM.

Procédure

  1. Sur la VM Ubuntu/Debian, installez les modules samba et winbind.
    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
  2. Configurez les paramètres d'authentification Kerberos.
    1. Si la fenêtre des paramètres d'authentification Kerberos ne s'affiche pas sur le système, exécutez la commande suivante pour l'afficher.
      sudo dpkg-reconfigure krb5-config
    2. Pour Default Kerberos version 5 realm, entrez le nom DNS de votre domaine AD en majuscules.
      Par exemple, si votre nom de domaine AD est mydomain.com, entrez MYDOMAIN.COM.
    3. Pour Kerberos servers for your realm, entrez le nom d'hôte de votre serveur AD (représenté par ads_hostname dans les exemples de cette procédure).
    4. Pour Administrative server for your Kerberos realm, entrez à nouveau le nom d'hôte de votre serveur AD.
  3. Mettez à jour la configuration PAM.
    1. Ouvrez la page de configuration PAM.
      pam-auth-update
    2. Sélectionnez Create home directory on login, puis OK.
  4. Modifiez le fichier de configuration /etc/nsswitch.conf, comme indiqué dans l'exemple suivant.
    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
  5. (Facultatif) Si le système détecte automatiquement le serveur DNS approprié, ignorez cette étape et passez à l'étape suivante. Si le système ne parvient pas à détecter le serveur DNS approprié, effectuez cette étape pour définir le serveur DNS manuellement.
    Pour vous assurer que le fichier généré automatiquement resolv.conf fait référence à votre domaine AD en tant que domaine de recherche, modifiez les paramètres de NetworkManager pour la connexion à votre système. Les sous-étapes suivantes fournissent les exemples d'instructions pour un système Ubuntu 20.04.
    1. Ouvrez le panneau de configuration NetworkManager et accédez à Paramètres IPv4 pour la connexion à votre système. Pour Méthode, sélectionnez Adresses automatiques (DHCP) uniquement. Dans la zone de texte Serveurs DNS, entrez l'adresse IP de votre serveur de nom DNS (représenté par dns_IP_ADDRESS dans les exemples de cette procédure). Cliquez ensuite sur Enregistrer.
    2. Modifiez le fichier /etc/dhcp/dhclient.conf, comme indiqué dans l'exemple suivant.
      supersede domain-name "mydomain.com";
      prepend domain-name-servers dns_IP_ADDRESS;
    3. Modifiez le fichier /etc/systemd/resolved.conf, comme indiqué dans l'exemple suivant.
      DNS=dns_IP_ADDRESS
      Domains="mydomain.com"
      Note : Un nouvel adaptateur réseau virtuel est ajouté lors de la création d'un poste de travail virtuel Instant Clone. Lorsque vous ajoutez l'adaptateur réseau à un poste de travail virtuel cloné, le modèle de poste de travail virtuel efface les paramètres de l'adaptateur réseau, tels que le serveur DNS. Pour conserver le paramètre de serveur DNS lors de l'ajout d'un nouvel adaptateur réseau, vous devez indiquer un serveur DNS pour la VM.
    4. Spécifiez le serveur DNS en modifiant le fichier de configuration /etc/resolv.conf, comme indiqué dans l'exemple suivant. Si un avertissement s'affiche, vous pouvez ignorer et poursuivre les modifications.
      nameserver dns_IP_ADDRESS
      
      search mydomain.com
    5. Redémarrez la VM et reconnectez-vous.
  6. Modifiez le fichier de configuration /etc/hosts, comme indiqué dans l'exemple suivant.
    127.0.0.1     localhost
    127.0.1.1     myhost.mydomain.com myhost
  7. Modifiez le fichier de configuration /etc/samba/smb.conf, comme indiqué dans l'exemple suivant.
    [global]
    security = ads
    realm = MYDOMAIN.COM
    workgroup = MYDOMAIN
    idmap uid = 10000-20000
    idmap gid = 10000-20000
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind use default domain = yes
    restrict anonymous = 2
    kerberos method = secrets and keytab
    winbind refresh tickets = true
  8. Redémarrez le service smbd.
    sudo systemctl restart smbd.service
  9. Modifiez le fichier de configuration /etc/krb5.conf afin que son contenu soit semblable à l'exemple suivant.
    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = true
          dns_lookup_kdc = true
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
  10. Joignez la VM Ubuntu/Debian au domaine AD.
    1. Initiez un ticket Kerberos.
       sudo kinit admin-user
      Lorsque vous y êtes invité, entrez votre mot de passe administrateur.
    2. Vérifiez que le ticket a bien été créé.
      sudo klist
      Cette commande renvoie des informations sur le ticket, y compris son heure de début et son délai d'expiration valides.
    3. Créez un fichier keytab Kerberos.
      sudo net ads keytab create -U admin-user
    4. Joignez le domaine AD.
      sudo net ads join -U admin-user
  11. Redémarrez et vérifiez le service Winbind.
    1. Redémarrez le service Winbind.
      sudo systemctl restart winbind.service 
    2. Pour vérifier le service Winbind, exécutez les commandes suivantes et vérifiez qu'elles renvoient le résultat correct.
      • sudo wbinfo -u
      • sudo wbinfo -g
      • sudo getent passwd
      • sudo getent group
  12. Redémarrez la VM et reconnectez-vous.

Que faire ensuite

Configurer True SSO sur des postes de travail Ubuntu/Debian