Pour prendre en charge l'authentification unique réelle sur un poste de travail Ubuntu, intégrez le poste de travail à un domaine Active Directory à l'aide des solutions Samba et Winbind.
Utilisez la procédure suivante pour intégrer un poste de travail Ubuntu à un domaine AD.
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 poste de travail Ubuntu. 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 poste de travail Ubuntu |
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
- Le serveur Active Directory (AD) peut être résolu par DNS sur le système Linux.
- Le protocole NTP (Network Time Protocol) est configuré sur le système Linux.
Procédure
- Sur votre poste de travail Ubuntu, installez les modules samba et winbind.
sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
- Lorsque vous y êtes invité, configurez les paramètres d'authentification Kerberos en procédant comme suit.
- 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.
- 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).
- Pour Administrative server for your Kerberos realm, entrez à nouveau le nom d'hôte de votre serveur AD.
- Mettez à jour la configuration PAM.
- Ouvrez la page de configuration PAM.
- Sélectionnez Create home directory on login, puis OK.
- Modifiez le fichier de configuration /etc/nsswitch.conf, comme indiqué dans l'exemple suivant.
passwd: compat winbind
group: compat winbind
shadow: compat
gshadow: files
- 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.
- 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.
- Modifiez le fichier de configuration pour la connexion à votre système situé dans /etc/NetworkManager/system-connections. Utilisez l'exemple suivant.
[ipv4]
dns=dns_IP_ADDRESS
dns-search=mydomain.com
ignore-auto-dns=true
method=auto
Note : Un nouvel adaptateur réseau virtuel est ajouté lors de la création d'un poste de travail virtuel Instant Clone. Tout paramètre dans l'adaptateur réseau, par exemple le serveur DNS, dans le modèle de poste de travail virtuel est perdu lorsque le nouvel adaptateur réseau est ajouté au poste de travail virtuel Instant Clone. Pour éviter de perdre le paramètre de serveur DNS lorsque le nouvel adaptateur réseau est ajouté à un poste de travail virtuel cloné, vous devez spécifier un serveur DNS pour votre système Linux.
- Spécifiez le serveur DNS en modifiant le fichier de configuration /etc/resolv.conf, comme indiqué dans l'exemple suivant.
nameserver dns_IP_ADDRESS
search mydomain.com
- Redémarrez votre système et reconnectez-vous.
- 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
- 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
- Redémarrez le service smbd.
sudo systemctl restart smbd.service
- 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
- Joignez votre poste de travail Ubuntu au domaine AD.
- Initiez un ticket Kerberos.
sudo kinit admin-user
Lorsque vous y êtes invité, entrez votre mot de passe administrateur.
- 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.
- Créez un fichier keytab Kerberos.
sudo net ads keytab create -U admin-user
- Joignez le domaine AD.
sudo net ads join -U admin-user
- Redémarrez et vérifiez le service Winbind.
- Redémarrez le service Winbind.
sudo systemctl restart winbind.service
- Pour vérifier le service Winbind, exécutez les commandes suivantes et vérifiez qu'elles renvoient le résultat correct.
- wbinfo -u
- wbinfo -g
- getend passwd
- getend group
- Redémarrez votre système et reconnectez-vous.