Intégration d’un poste GNU/Linux dans un environnement Microsoft Active Directory


Mr Manatane
L’incorrigible enfant gâté que vous êtes ! Vous l’avez installé hein, n’est-ce pas ?! Le système d’exploitation de l’an 2000, la distribution Linux de Monsieur Puissance. L’informatique au service de l’homme moderne. Et vous avez décidé d’en apprécier les performances réelles par une petite compilation sur le vif. Bref, ça va chier dans le compilateur les loulous ; c’est bien légitime. Mais au moment de vous connecter au serveur de fichiers pour y récupérer les sources, un popup vous invite à marquer un temps d’arrêt, il prétend dans un jargon très approximatif, vouloir vous authentifier sur le domaine Active Directory de l’entreprise et parait en vouloir à votre couple identifiant/mot de passe. Voilà qui est fort désobligeant convenez-en. Alors que faire ?

J’interrompt brièvement cette introduction honteusement empruntée au regretté Mr Manatane pour préciser que cette dernière m’a été inspirée par la découverte de l’ignorance crasse de mes Jeunes quant à l’humour télévisuel belge de la fin du siècle dernier (je préfère employer le mot Jeune à celui de Stagiaire qui ne reflète en rien l’affection que le Pygmalion porte à ses disciples et ce malgré l’ingratitude de certains d’entre eux, notez-le). Mais reprenons, voulons-nous?

Il ne faut jamais au grand jamais vous exécuter en invoquant une quelconque fatalité, sous peine de devoir saisir vos identifiant et mot de passe à qui mieux mieux. Non, vous devez avec l’assurance du sysadmin chevronné vous gausser devant tant de naïveté et dire : « Mais que me contez-vous là, le Windows ? Vous m’insultez, sachez que je ne m’authentifie qu’une fois par jour et pas une de plus. Likewise Open, vous voyez ce que c’est ? » Et ponctuez éventuellement votre phrase de cliquetis de souris ou de quelques claquements de touches de clavier. Vous passerez instantanément pour ce que l’on appelle en langage informatique, un as du clavier. Et il y a fort à parier que le contrôleur de domaine piqué au vif vous mette au défi et vous propose sur le champ de mettre vos dires en pratique. Et là petit conseil d’ami, consentez à brider vos ardeurs, il est toujours utile de rester en bon terme avec votre contrôleur de domaine attitré.

Pré-requis :

  • Un poste de travail sous GNU/Linux (ici Ubuntu 11.04 64 bits)
  • Un domaine Active Directory (dans mon cas les contrôleurs de domaines sont sous Windows 2008 R2)

Conventions :

  • prompt : # commande : exécuter la commande sous le compte root ou précédée de la commande « sudo »
  • prompt : $ commande : exécuter la commande sous le compte utilisateur

Likewise Open est donc un logiciel qui permet d’intégrer un poste UNIX, GNU/Linux ou Mac OS X dans un environnement Microsoft Active Directory (la liste des systèmes supportés est disponible ici). Je m’intéresse ici à la version Open qui est gratuite et amplement suffisante pour mon usage. La version Entreprise offre quant à elle bien plus de fonctionnalités qui sont détaillées ici pour les personnes intéressées.

1. Installation

Il est possible de télécharger le logiciel sur le site de Likewise à l’adresse : http://www.likewise.com/download (quelques informations vous serons demandées) mais pour ceux qui rechignent à lâcher le moindre renseignement qui alimentera sans nul doute quelques obscures bases de données marketing, voici le lien direct vers la version stable (6.0.0.8360) : http://www.likewise.com/community/index.php/download. Pour ma part, la version présente dans les dépôts n’a pas fonctionnée (6.0.0.53010). De plus, il peut parfois être nécessaire avec les distributions récentes de recourir à la version de développement de Likewise Open (actuellement 6.1.0.8656) : http://www.likewise.com/community/index.php/download/6.1.

– Télécharger le logiciel qui correspond à votre OS :

$ cd /tmp
$ wget http://www.likewise.com/bits/6.0/8360/LikewiseOpen-6.0.0.8360-linux-amd64-deb.sh

– Rendre le fichier exécutable et le lancer :

# chmod u+x LikewiseOpen-6.0.0.8360-linux-amd64-deb.sh
# ./LikewiseOpen-6.0.0.8360-linux-amd64-deb.sh

– Suivre les instructions d’installation.

– Éditer le fichier /etc/nsswitch et modifier les lignes passwd, group, hosts pour qu’elles soient exactement comme ci-dessous (l’ordre des paramètres est important) :

# nano /etc/nsswitch
passwd:         compat lsass
group:          compat lsass
shadow:         compat

hosts:          files dns mdns4_minimal [NOTFOUND=return] mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Redémarrer le poste de travail n’est pas obligatoire mais d’expérience, c’est plus que recommandé afin de prendre en compte les changements.

– Vérifier que le domaine est joignable (c’est 2 commandes doivent impérativement fonctionner, le cas échéant consulter la documentation afin de résoudre le problème) :

# ping my_domain.local
64 bytes from domain_controler_01.my_domain.local (172.16.0.1): icmp_req=1 ttl=128 time=0.187 ms
# nslookup my_domain.local
Server:        172.16.0.1
Address:    172.16.0.1#53

Name:    my_domain.local
Address: 172.16.0.1
Name:    my_domain.local
Address: 172.16.0.2

2. Rejoindre un domaine

– Il est possible d’utiliser l’interface graphique pour joindre le domaine :

# /opt/likewise/bin/domainjoin-gui

Likewise Open GUILikewise Open GUI Authentification

ou d’utiliser la ligne de commande :

# /opt/likewise/bin/domainjoin-cli join my_domain.local active_directory_admin
Joining to AD Domain:   my_domain.local
With Computer DNS Name: my_computer.my_domain.local
active_directory_admin@my_computer.my_domain.local's password:
SUCCESS

– Il ne reste plus qu’à redémarrer le poste de travail pour prendre en compte les changements et se connecter via l’interface graphique avec l’identifiant my_domain\my_account ou en ligne de commande avec l’identifiant my_domain\\my_account (notez le double \).

 

3. Configuration du compte

Avant de pouvoir profiter pleinement de votre session, il va falloir se connecter sur un compte local du poste de travail ayant un accès root (typiquement celui qui est créé à l’installation de l’OS) afin de donner les droits d’administration local au compte du domaine.

– Editer le fichier /etc/sudoers et ajouter le compte du domaine (permet au compte d’exécuter des commandes avec les droits root) :

# visudo
# User privilege specification
root    ALL=(ALL:ALL) ALL
my_domain\\my_account ALL=(ALL:ALL) ALL
my_account ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%my_domain\\my_account ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo    ALL=(ALL:ALL) ALL

– Editer le fichier /etc/group et ajouter le compte du domaine aux mêmes groupes que l’utilisateur local (afin qu’il bénéficie des mêmes droits sur le poste de travail) :

# nano /etc/group
adm:x:4:my_local_account,my_domain\my_account
dialout:x:20:my_local_account,my_domain\my_account
cdrom:x:24:my_local_account,my_domain\my_account
plugdev:x:46:my_local_account,my_domain\my_account
lpadmin:x:112:my_local_account,my_domain\my_account
admin:x:120:my_local_account,my_domain\my_account
sambashare:x:122:my_local_account,my_domain\my_account
vboxusers:x:123:my_local_account,my_domain\my_account

On va maintenant se connecter sous son compte du domaine comme indiqué précédemment pour paramétrer plus finement ce dernier.

– Lancer un terminal, on remarque ici que le classique account@computer:~$ est remplacé par un simple $, pour y remédier on va définir le shell par défaut (bash dans mon cas) :

# /opt/likewise/bin/lwconfig LoginShellTemplate /bin/bash

– De la même manière, on va définir le domaine par défaut afin de ne plus avoir à le renseigner :

# /opt/likewise/bin/lwconfig AssumeDefaultDomain true

4. Quitter un domaine

– Il est possible d’utiliser l’interface graphique pour quitter le domaine :

# /opt/likewise/bin/domainjoin-gui

ou la ligne de commande :

# /opt/likewise/bin/domainjoin-cli leave active_directory_admin

5. Dernière astuce pour la route…

Utilisant le logiciel Truecrypt assez couramment, j’ai rencontré des difficultés pour accéder à mes volumes montés sous le compte de domaine, et ce malgré le fait que ce compte est censé avoir les mêmes droits que le compte créé à l’installation du système. Le problème est en partie résolu en ajoutant les paramètres de montage suivants dans les préférences du logiciel :

uid=my_account,gid=1000,umask=0007

Un autre problème gênant que je n’ai par contre pas réussi à résoudre, c’est le non-affichage des volumes montés dans l’interface de Truecrypt alors qu’il apparaît si Truecrypt est lancé avec les droits root. Qui plus est, pour démonter le volume il faut donc utiliser Truecrypt avec les droits root, on se heurte alors au message d’erreur suivant :

Un petit tour sur le web pour trouver une solution guère élégante mais qui a l’immense mérite de fonctionner (/media/truecrypt1 étant mon point de montage, à adapter au cas par cas) :

# umount /media/truecrypt1 -d && rm -rf /tmp/.truecrypt_aux_mnt1/

Vous voici donc l’heureux possesseur d’un poste de travail sous GNU/Linux intégré dans un Active Directory et ce au prix de quelques ridicules petites commandes. En vous remerciant, bonsoir !

 

3 commentaires

  1. Bonjour,
    p’tit soucis :
    Sous XUbuntu 12.04.3 64bits + Likewise-open :
    – Comment exécuter un script au login ?
    – Comment exécuter un script à la déconnexion ?
    Pour chaque utilisateur (les volumes montés sont différents pour chacun).
    Si tu en connais la solution je te erai gré de bien vouloir me la faire connaître.
    « Un qui sait vaut mieux que dix qui cherchent ! »
    Bonne journée et merci, cordialement, Patrice.

  2. Salut,

    ça fait un bout de temps que je n'ai pas utilisé Likewise-Open, il a même été racheté par Beyond Trust et renommé PowerBroker Identity Services, Open Edition.

    Pour ce qui est de lancer des scripts au démarrage, tu peux aller dans Paramétrage -> Session et démarrage -> Démarrage automatique.

    Pour les scripts à la fermeture de session, tu devrais trouver ton bonheur ici.

     

Répondre à pk Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *