Selon les tags présents sur cette page, celle-ci n'a pas été vérifiée pour une des versions LTS supportées d'Ubuntu.
Apportez votre aide…

Ceci est une ancienne révision du document !


Comment ajouter une machine Ubuntu dans un domaine Active Directory ?

Nom Version
Microsoft Windows Server 2003 SP1
Linux Ubuntu 6.06
Winbind 3.0.22-Ubuntu
Samba 3.0.22-Ubuntu
krb5-user Krb5-1.4.3
Terme Signification
AD Active Directory
CD Contrôleur de Domaine
ServeurCD.MonDomaine FQDN du Contrôleur de Domaine
10.0.0.1 IP du CD
NTP Network Time Protocol (Protocole de Temps Réseau)
ServeurNTP.MonDomaine FQDN du serveur de temps
10.0.0.2 IP du serveur de temps
ServeurKRB.MonDomaine FQDN du serveur Kerberos
10.0.0.3 IP du serveur Kerberos
FQDN Nom de Domaine Pleinement Qualifié (Fully Qualified Domain Name)
MonDomaine Domaine Active Directory
MONDOMAINE Royaume Kerberos
MaMachine nom de machine de la station Ubuntu
MaMachine.MonDomaine FQDN de la station Ubuntu
Utilisateur utilisateur du domaine
Administrateur utilisateur du domaine ayant des droits administrateur

Le temps est essentiel pour Kerberos. Le meilleur moyen de s'affranchir de cela est d'utiliser un serveur NTP (Network Time Protocol). Dans /etc/default/ntpdate :

# serveur source à vérifier
NTPSERVERS="ServeurNTP.MonDomaine"
# options supplémentaires pour ntpdate
NTPOPTIONS="-u"
sudo /etc/init.d/ntpdate restart

Un FQDN est essentiel afin de faire fonctionner Kerberos. Dans /etc/hosts :

127.0.0.1 localhost.localdomain localhost MaMachine

Programmes requis

Il faut décommenter les urls dans le fichier /etc/apt/sources.list :

sudo apt-get update
sudo apt-get install krb5-user

La configuration de Kerberos (/etc/krb5.conf) n'est pas nécessaire, si les enregistrements du service DNS sont correctement configurés pour Kerberos.

Fichier /etc/krb5.conf :

[logging]
    default = FILE10000:/var/log/krb5lib.log

[libdefaults]
    ticket_lifetime = 24000
    default_realm = MONDOMAINE
    default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
    default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc

[realms]
    MONDOMAINE = {
        kdc = ServeurKRB.MonDomaine
        admin_server = ServeurCD.MonDomaine
        default_domain = MONDOMAINE
}

[domain_realm]
    .MonDomaine = MONDOMAINE
    MonDomaine = MONDOMAINE

Test

Demander un TGT (Ticket-Granting Ticket, il n'est pas nécessaire d'être administrateur, chaque compte valide du domaine peut être utilisé) :

sudo kinit Utilisateur
Password for Utilisateur@MONDOMAINE: ****

Vérification de la validité du ticket

sudo  klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Utilisateur@MONDOMAINE

Valid starting     Expires            Service principal
01/21/05 10:28:51  01/21/05 20:27:43    krbtgt/MONDOMAINE@MONDOMAINE (C'est la partie à vérifier)
        renew until 01/21/05 20:28:51

Programme requis

Pour vous connecter à Windows 2003 SP1, la version 3.0.14a de Winbind est nécessaire. Dans Hoary, seule la version 3.0.10 est disponible. Vous pouvez toutefois trouver la version 3.0.14a dans Breezy.

sudo apt-get install winbind samba

Joindre le domaine

Dans /etc/samba/smb.conf :

[global]
        security = ads
        realm = MONDOMAINE
        password server = ServeurCD.MonDomaine
        workgroup = MONDOMAINE
        winbind separator = +
        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
        winbind use default domain = yes

Effectuer une requête de TGT Kerberos valide, ce dernier étant autorisé à joindre des machines au domaine AD.

sudo net join -U Administrateur -S ServeurCD.MonDomaine
Using short domain name – MONDOMAINE
Joined 'MaMachine' to realm 'MONDOMAINE'

Si l'authentification Kerberos est valide, aucun mot de passe ne doit vous être demandé.

Test

Pour obtenir une liste des utilisateurs du domaine :

wbinfo -u

Et une liste des groupes :

wbinfo -g

nsswitch.conf

Dans /etc/nsswitch.conf :

passwd:   compat winbind
group:    compat winbind
shadow:   compat

hosts:       files dns
networks:    files dns
 
services:    db files
protocols:   db files
rpc:         db files
ethers:      db files
netmasks:    files
netgroup:    files
bootparams:  files
 
automount:   files
aliases:     files

Test

Tester le module nsswitch Winbind à l'aide de getent :

sudo getent passwd

root:x:0:0:root:/root:/bin/bash
...
LAB+administrator:x:10000:10000:Administrator:/home/LAB/administrator:/bin/bash
LAB+gast:x:10001:10001:Gast:/home/LAB/gast:/bin/bash
...
sudo getent group

root:x:0:
daemon:x:1:
bin:x:2:
...
LAB+organisations-admins:x:10005:administrator
LAB+domänen-admins:x:10006:manuel,administrator
LAB+domänen-benutzer:x:10000:
LAB+domänen-gäste:x:10001:
LAB+linux-admins:x:10004:manuel

Avec cette configuration, vous pouvez accéder à la machine à l'aide d'un compte local ou un compte du domaine. À la première connexion d'un utilisateur, un répertoire home sera créé.

Dans /etc/pam.d/common-account :

account sufficient      pam_winbind.so
account sufficient      pam_unix.so

Dans /etc/pam.d/common-auth :

auth sufficient pam_winbind.so
auth sufficient pam_unix.so nullok_secure use_first_pass

Dans /etc/pam.d/common-session :

session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel

Dans /etc/pam.d/sudo :

auth sufficient pam_winbind.so
auth required pam_unix.so use_first_pass

Chaque domaine a besoin d'un répertoire dans /home/ :

sudo  mkdir /home/MONDOMAINE

Mais il faut attribuer des droits au dossier :

sudo  chmod 777 /home/MONDOMAINE

Connexion avec [Domain] [Winbind separator] [Nom_d_utilisateur] :

login: Utilisateur
Password: *****
...

Pour obtenir :

Utilisateur@MaMachine:~$

Astuce

En ajoutant le paramètre

winbind use default domain = yes

dans la configuration de Samba, il n'est plus nécessaire de spécifier le domaine lors de la connexion sur le domaine par défaut.

Si le module PAM Winbind dans /var/log/auth.log dit que l'utilisateur AD n'existe pas, redémarrez Winbind. Il serait probablement préférable de redémarrer complètement la station si on était sous Windows, mais comme on est sous GNU/Linux, c'est inutile.

sudo  /etc/init.d/winbind start

Bonjour,

Je vais répondre moi même au post que j'avais édité ici même et qui concernait mes problèmes rencontrés sur l'ajout d'une machine linux/ubuntu dans l'AD d'un serveur de domaine windows 2000. Tout d'abord j'ai eu besoin du mot de passe administrateur pour joindre ma machine au serveur (cela ne voulais pas dire pour autant que ma config n'étais pas bonne).

Ensuite, pour la configuration de PAM voici comment j'ai dû la mettre en place :

Pour /etc/pam.d/common-account :

account    sufficient   /lib/security/pam_winbind.so

Pour /etc/pam.d/common-auth :

auth       required    pam_securetty.so
auth       sufficient  pam_winbind.so
auth       sufficient  pam_unix.so use_first_pass
auth       required  pam_nologin.so

Pour /etc/pam.d/common-session :

session    required     /lib/security/pam_mkhomedir.so skel=/etc/skel umask=0022
session    optional     /lib/security/pam_console.so

Pour /etc/pam.d/common-password :

password   required   pam_unix.so nullok obscure min=4 max=8 md5

Si je configure PAM comme il est dis plus haut dans ce wiki, quand j'essaie de me connecter via GDM à mon compte Active Directory, lors de l'entrée de mon login le message d'erreur "l'authentification a échoué" apparaît sans même me laisser taper un mot de passe.

Voilà pour les personnes qui rencontrent le même problème vous savez ce qu'ils vous restent à faire ; cela dit je ne sais pas à quoi cela est dû exactement mais je poste ici si j'ai des informations supplémentaires.

Deux chtits problèmes subsistent tout de même auxquels je n'est pas de solutions :

  • Un gnome complétement en anglais alors que j'ai désinstallé tout les pack "en" pour gnome
  • Et qd je demarre une appli en graphique qui nécessite les droits super-utilisateur je rentre mon mot de passe et j'ai le message d'erreur :
    "Failed to run users-admin as user root: 
     Child terminated with 1 status"

edit : le problème des applications qui utilisent gksudo est résolu dans dapper drake ; cela doit être dû à une nouvelle version de pam.

Contributeurs : FredB, iuchiban Article original : Active Directory Winbind Howto

  • applications/active_directory_add.1164369237.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)