« Intégration Client Ubuntu sur AD Windows Server 2003 » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
Ligne 37 : Ligne 37 :


Depuis un terminal de commande :
Depuis un terminal de commande :
{{ Box Console | objet=sudo domainjoin-cli join GOULOUXIOU.LAN Administrator }}
{{ Box Console | objet=sudo domainjoin-cli join GOULOUXIOU.LAN Administrateur }}
Le mot de passe du compte administrator du serveur Contrôleur de Domaine Active Directory est requis. Une fois le mot de passe renseigné, la machine peut s'identifier via Active directory. Le terminal retourne les information suivantes :
Le mot de passe du compte administrator du serveur Contrôleur de Domaine Active Directory est requis. Une fois le mot de passe renseigné, la machine peut s'identifier via Active directory. Le terminal retourne les information suivantes :
{{ Box Console | objet=Administrator@GOULOUXIOU.LAN's password:<br />
{{ Box Console | objet=Administrateur@GOULOUXIOU.LAN's password:<br />
Warning: System restart required
Warning: System restart required
Your system has been configured to authenticate to Active Directory for the
Your system has been configured to authenticate to Active Directory for the

Version du 26 juillet 2012 à 13:56

Cahier des charges

La machine fonctionnant sous Ubuntu 11.04 (Narty Narwall) doit être en mesure de vérifier l'authentification des utilisateurs via le Contrôleur de Domaine Active Directory installé sur le serveur Windows Server 2003 R2.

Prérequis

  • Serveur Windows Server 2003 pleinement installé et fonctionnel;
  • Poste client fonctionnant sous Ubuntu 11.04 à jour.

Pour l'exemple, les informations suivantes seront utilisées et devront être adaptées en fonction des cas :

  • Domaine Active Directory : GOULOUXIOU
  • Nom de domaine Active Directory : GOULOUXIOU.LAN
  • Serveur Contrôleur de Domaine Active Directory : ORCADE.GOULOUXIOU.LAN qui a pour IP 10.0.0.36
  • Nom du poste client Ubuntu 11.04 : NOMMACHINE

Préliminaires

Résolution des noms

Il est nécessaire que la machine cliente puisse résoudre correctement le nom de domaine Active Directory ainsi que le nom du serveur de Domaine Active Directory. Pour cela, il faut éditer le fichier /etc/hosts et adapter une ligne :

127.0.1.1 NOMMACHINE NOMMACHINE.GOULOUXIOU.LAN

et en rajouter une seconde en fin de fichier :

10.0.0.36 GOULOUXIOU GOULOUXIOU.LAN ORCADE.GOULOUXIOU.LAN
Application des changements immédiats !

Pour vérifier, la requête ping doit répondre sur l'hôte nommachine.goulouxiou.lan ou encore goulouxiou.lan.

Installation des paquets

L'intégration de la machine au contrôleur de domaine nécessite l'installation des paquets likewise-open5 krb5-user winbind et samba :

sudo apt-get install likewise-open5 krb5-user winbind samba

Configuration

Likewise

Depuis un terminal de commande :

sudo domainjoin-cli join GOULOUXIOU.LAN Administrateur

Le mot de passe du compte administrator du serveur Contrôleur de Domaine Active Directory est requis. Une fois le mot de passe renseigné, la machine peut s'identifier via Active directory. Le terminal retourne les information suivantes :

Administrateur@GOULOUXIOU.LAN's password:
Warning: System restart required Your system has been configured to authenticate to Active Directory for the first time. It is recommended that you restart your system to ensure that all applications recognize the new settings.

SUCCESS
You should reboot this system before attempting GUI logins as a domain user.

La machine doit également apparaître sur le Contrôleur de Domaine. Pour le vérifier, identifier vous sur votre serveur Windows Server 2003 puis naviguez dans le menu Démarrer / Tous les programmes / Outils d'administration / Utilisateurs et ordinateurs Active Directory.

Dans l'arborescence du contrôleur de domaine, cliquez sur le dossier Computers. La machine cliente Ubuntu doit y apparaître :

AD Likewise.png

Kerberos

Suppression du fichier de configuration initial :

sudo rm /etc/krb5.conf

Création d'un nouveau fichier vierge:

sudo touch /etc/krb5.conf

On renseigne comme illustré ci-dessous le fichier nouvellement crée :

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

[libdefaults]
   ticket_lifetime = 24000
   default_realm = GOULOUXIOU.LAN
   dns_fallback = no
   default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
   default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5

[realms]
   GOULOUXIOU.LAN = {
       kdc = ORCADE.GOULOUXIOU.LAN:88
       admin_server = ORCADE.GOULOUXIOU.LAN:749
       default_domain = GOULOUXIOU
}

[domain_realm]
   .goulouxiou.lan = GOULOUXIOU.LAN
   goulouxiou.lan = GOULOUXIOU.LAN

Pour tester l'authentification, on tente de se loguer avec le compte administrator du domaine. Pour cela, on tape depuis le terminal :

sudo kinit administrator@GOULOUXIOU.LAN

Le terminal doit demander le mot de passe du compte administrator. Pour vérifier que l'opération s'est déroulée correctement, on saisie la commande :

sudo klist

qui doit retourner dans ce cas :

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@GOULOUXIOU.LAN

Valid starting Expires Service principal
07/14/11 11:51:11 07/14/11 18:31:11 krbtgt/GOULOUXIOU.LAN@GOULOUXIOU.LAN

Intégration de la machine au Contrôleur de Domaine

Configuration de Samba

Suppression du fichier de configuration Samba :

sudo rm /etc/samba/smb.conf

Création d'un nouveau fichier vierge :

sudo touch /etc/samba/smb.conf

On renseigne comme illustré ci-dessous le fichier nouvellement crée:

[global]
       security = ADS
       realm = GOULOUXIOU.LAN
       netbios name = OXTRODEX
       password server = ORCADE.GOULOUXIOU.LAN
       workgroup = GOULOUXIOU
       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
       # empêche le client de devenir maitre explorateur
       domain master = no
       local master = no
       preferred master = no
       os level = 0

On redémarre le serveur samba :

sudo service smbd restart

Puis on ajoute la machine au contrôleur de domaine :

sudo net join ads -U Administrator -S ORCADE.GOULOUXIOU.LAN

Le terminal de commande doit retourner :

Enter administrator's password:
Using short domain name -- GOULOUXIOU
Joined 'OXTRODEX' to realm 'goulouxiou.lan'

Création du dossier pour le répertoire des utilisateurs du domaine :

sudo mkdir /home/GOULOUXIOU
sudo chmod 777 /home/GOULOUXIOU

Authentification

Il s'agit maintenant d'implanter l'authentification via winbind dans le système d'ouverture de session d'Ubuntu. Tout d'abord on redémarre winbind :

sudo /etc/init.d/winbind restart

Configuration de NSSWITCH

Ouverture du fichier /etc/nsswitch.conf.

  • Adaptez les deux lignes suivantes :
passwd:         compat lsass
group:          compat lsass
  • Par :
passwd:         compat lsass winbind
group:          compat lsass winbind

On vérifie le bon fonctionnement du module en tapant la commande :

sudo getent passwd

Où l'on doit remarquer la présence des enregistrement suivants, correspondant aux utilisateurs du domaine Active Directory sur le serveur Windows Server 2003 :

oxtrode@oxtrodex:~$ sudo getent passwd
[...]
administrator:*:10000:10002:Administrateur:/home/GOULOUXIOU/administrator:/bin/bash
invité:*:10001:10003:Invité:/home/GOULOUXIOU/invité:/bin/bash
support_388945a0:*:10002:10002:SUPPORT_388945a0:/home/GOULOUXIOU/support_388945a0:/bin/bash
krbtgt:*:10003:10002:krbtgt:/home/GOULOUXIOU/krbtgt:/bin/bash
cacheln:*:10004:10002:Nicolas CACHELOU:/home/GOULOUXIOU/cacheln:/bin/bash

Configuration de PAM

La configuration suivante permet aux utilisateurs du domaine de s'authentifier sur la machine cliente Ubuntu.

common-account

Sauvegarde du fichier /etc/pam.d/common-account :

sudo cp /etc/pam.d/common-account /etc/pam.d/common-account.bak

Suppression du fichier /etc/pam.d/common-account :

sudo rm /etc/pam.d/common-account

Création d'un fichier vierge /etc/pam.d/common-account :

sudo touch /etc/pam.d/common-account

On renseigne comme illustré ci-dessous le fichier nouvellement crée :

account sufficient      pam_winbind.so
account sufficient      pam_unix.so

common-auth

Sauvegarde du fichier /etc/pam.d/common-auth :

sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.bak

Suppression du fichier /etc/pam.d/common-auth :

sudo rm /etc/pam.d/common-auth

Création d'un fichier vierge /etc/pam.d/common-auth :

sudo touch /etc/pam.d/common-auth

On renseigne comme illustré ci-dessous le fichier nouvellement crée :

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

common-session

Sauvegarde du fichier /etc/pam.d/common-session :

sudo cp /etc/pam.d/common-session /etc/pam.d/common-session.bak

Suppression du fichier /etc/pam.d/common-session :

sudo rm /etc/pam.d/common-session

Création d'un fichier vierge /etc/pam.d/common-session :

sudo touch /etc/pam.d/common-session

On renseigne comme illustré ci-dessous le fichier nouvellement crée :

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

sudo

Sauvegarde du fichier /etc/pam.d/sudo :

sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bak

Suppression du fichier /etc/pam.d/sudo :

sudo rm /etc/pam.d/sudo

Création d'un fichier vierge /etc/pam.d/sudo :

sudo touch /etc/pam.d/sudo

On renseigne comme illustré ci-dessous le fichier nouvellement crée :

auth sufficient pam_winbind.so
auth required pam_unix.so use_first_pass
Redémarrez la machine !

Sources