Blog de Florent Appointaire

Blog sur les technologies Microsoft (Windows Server, System Center, Azure, Windows Azure Pack/Azure Stack, etc;)

[Ubuntu] Joindre un serveur au domaine

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

image_thumb1

Une nouvelle page va s’afficher pour vous demander le nom de votre domaine, renseignez le:

image_thumb3

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

image_thumb5

Redémarrez le service:

sudo service ntp restart

Vous pouvez afficher la date/heure avec la commande date:

image_thumb6

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

image_thumb9

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:

image_thumb11

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 = yes

idmap config *:backend = rid
idmap config *:range = 5000-100000

winbind 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 = yes

template shell = /bin/bash

image_thumb13

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

image_thumb15

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

image_thumb17

Vous pouvez ignorer l’erreur concernant le DNS tant que le serveur a bien joint le domaine. Voici l’objet dans l’Active Directory:

image_thumb20

image_thumb21

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:

image_thumb26

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

image_thumb28

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

image_thumb34

image_thumb33

image_thumb35

J’ai ensuite ajouté mon utilisateur dans le groupe sudoer:

sudo adduser fappointaire sudo

image_thumb36

Vous pouvez vous connecter avec votre compte de domaine sur le serveur Ubuntu et passer root:

image_thumb38

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 Sourire

Facebook Like
Anonymous