Aujourd’hui nous allons voir comment joindre un serveur Ubuntu (dans mon cas en version 16.04) à un domaine Active Directory. Ceci peut-être utile dans le cas où vous souhaitez que les administrateurs utilisent leur compte de domaine pour se connecter aux machines, etc.
Pour commencer, connectez vous sur votre serveur et exécutez la commande suivante pour installer les paquets qui permettront de rejoindre le domaine:
sudo apt-get -y install ntp vim ntpdate winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
Une nouvelle page va s’afficher pour vous demander le nom de votre domaine, renseignez le:
Il faut maintenant régler la date et l’heure pour qu’elle corresponde à l’heure de votre contrôleur de domaine. Editez le fichier ntp.conf et renseignez le nom ou l’ip de votre contrôleur de domaine:
sudo vim /etc/ntp.conf
Redémarrez le service:
sudo service ntp restart
Vous pouvez afficher la date/heure avec la commande date:
Nous allons maintenant configurer la partie Kerberos. Etant donné que la configuration sera nouvelle, nous allons supprimer tous ce qu’il y a dedans et insérer notre configuration. Exécutez les commandes suivantes:
sudo truncate -s0 /etc/krb5.conf
sudo vim /etc/krb5.conf
Adaptez la configuration avec vos valeurs:
[libdefaults]
ticket_lifetime = 24000
default_realm = FLORENTAPPOINTAIRE.CLOUD
default_tgs_entypes = rc4-hmac des-cbc-md5
default_tkt__enctypes = rc4-hmac des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-md5
dns_lookup_realm = true
dns_lookup_kdc = true
dns_fallback = yes[realms]
FLORENTAPPOINTAIRE.CLOUD = {
kdc = floapp-dc01.florentappointaire.cloud
kdc = floapp-dc02.florentappointaire.cloud
default_domain = floapp-dc01.florentappointaire.cloud
}[domain_realm]
.florentappointaire.cloud= FLOAPP-DC01.FLORENTAPPOINTAIRE.CLOUD
florentappointaire.cloud = FLOAPP-DC01.FLORENTAPPOINTAIRE.CLOUD[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
Sauvegardez le fichier. Nous allons créer un jeton pour un utilisateur de l’AD, qui a les droits de joindre l’ordinateur au domaine. Exécutez la commande suivante:
sudo kinit fappointaire
Et pour vérifier que le jeton a bien été créé, exécutez la commande sudo klist:
Nous allons modifier le fichier de configuration Samba. Si vous souhaitez un nom de machine autre que celui qui se trouve dans /etc/hostname, ajoutez la ligne NetBIOS name = nouveaunomdemachine. Il faut remplacer la ligne workgroup = WORKGROUP du fichier de configuration par la configuration suivante, en adaptant avec vos valeurs:
sudo vim /etc/samba/smb.conf
workgroup = FLORENTAPPOINTA
security = ADS
realm = FLORENTAPPOINTAIRE.CLOUD
encrypt passwords = yesidmap config *:backend = rid
idmap config *:range = 5000-100000winbind allow trusted domains = no
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
winbind refresh tickets = yestemplate shell = /bin/bash
Sauvegardez la configuration. Nous allons maintenant modifier le fichier nsswitch.conf pour indiquer que nous allons utiliser les utilisateurs et les groupes de l’active directory (winbind):
sudo vim /etc/nsswitch.conf
Il est maintenant temps de joindre le serveur Ubuntu 16.04 à notre Active Directory. Utilisez la commande suivante:
sudo net ads join –k
OR
net ads join -S FLOAPP-DC01.florentappointaire.cloud -U fappointaire
Vous pouvez ignorer l’erreur concernant le DNS tant que le serveur a bien joint le domaine. Voici l’objet dans l’Active Directory:
Nous allons maintenant vérifier que l’authentification Active Directory est bien activée. Utilisez la commande suivante:
sudo pam-auth-update
Un écran apparaît. Assurez vous que la ligne Winbind NT/Active Directory authtication soit bien sélectionné. J’ai également sélectionnez le fait de pouvoir créer un répertoire par défaut pour chaque utilisateur qui se connectera:
Redémarrons les services pour que toutes les modifications soient prises en compte:
sudo service smbd restart
sudo service nmbd restart
sudo service winbind restart
Vous pouvez utilisez les commandes suivantes pour vérifier qu’il y a bien une synchronisation avec l’Active Directory:
wbinfo -u
wbinfo -g
wbinfo -i fappointaire
getent passwd
getent group
J’ai ensuite ajouté mon utilisateur dans le groupe sudoer:
sudo adduser fappointaire sudo
Vous pouvez vous connecter avec votre compte de domaine sur le serveur Ubuntu et passer root:
Le prochain article portera sur l’installation et l’utilisation de SQLCMD pour gérer vos bases de données SQL Server, directement depuis un serveur Linux