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

De NCad Wiki
Aller à la navigation Aller à la recherche
(Page créée avec « == Cahier des charges == La machine fonctionnant sous Ubuntu 11.04 (Narty Narwall) doit être en mesure de vérifier l'authentification des utilisateur via le contrôleur de... »)
 
Aucun résumé des modifications
 
(51 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
{{Rôles Active Directory}}
== Cahier des charges ==
== Cahier des charges ==


La machine fonctionnant sous Ubuntu 11.04 (Narty Narwall) doit être en mesure de vérifier l'authentification des utilisateur via le contrôleur de domaine Active Directory installé sur le serveur Windows Server 2003 R2.
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 ==
== Prérequis ==
Ligne 8 : Ligne 10 :
* Poste client fonctionnant sous Ubuntu 11.04 à jour.
* Poste client fonctionnant sous Ubuntu 11.04 à jour.


Pour l'exemple de ce tutoriel, les informations suivantes seront dénies et devront être adapté en fonction des cas :
Pour l'exemple, les informations suivantes seront utilisées et devront être adaptées en fonction des cas :
* Domaine Active Directory : GOULOUXIOU
* '''Domaine Active Directory :''' GOULOUXIOU
* Nom de domaine Active Directory : GOULOUXIOU.LAN
* '''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
* '''Serveur Contrôleur de Domaine Active Directory :''' ORCADE.GOULOUXIOU.LAN ''qui a pour'' IP 10.0.0.36
* Nom de la machine Ubuntu 11.04 : NOMMACHINE
* '''Nom du poste client Ubuntu 11.04 :''' NOMMACHINE


== Préliminaires ==
== Préliminaires ==
Ligne 18 : Ligne 20 :
=== Résolution des noms ===
=== 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 Active Directory. Pour cela, il faut éditer le fichier '''/etc/hosts''' et d'adapter une ligne :
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
  127.0.1.1 NOMMACHINE NOMMACHINE.GOULOUXIOU.LAN
et d'en rajouter une seconde en fin de fichier :
et en rajouter une seconde en fin de fichier :
  10.0.0.36 GOULOUXIOU GOULOUXIOU.LAN ORCADE.GOULOUXIOU.LAN
  10.0.0.36 GOULOUXIOU GOULOUXIOU.LAN ORCADE.GOULOUXIOU.LAN
{{Box Remarque | objet=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''' :
{{ Box Console | objet=sudo apt-get install likewise-open5 krb5-user winbind samba }}
== Configuration ==
=== Likewise ===
Depuis un terminal de commande :
{{ 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 :
{{ Box Console | objet=Administrateur@GOULOUXIOU.LAN's password:<br />
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.<br /><br />
SUCCESS<br />
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 :
[[Image:AD_Likewise.png|center|thumb]]
=== Kerberos ===
Suppression du fichier de configuration initial :
{{ Box Console | objet=sudo rm /etc/krb5.conf }}
Création d'un nouveau fichier vierge:
{{ Box Console | objet=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 :
{{ Box Console | objet=sudo kinit Administrateur@GOULOUXIOU.LAN}}
Le terminal doit demander le mot de passe du compte administrateur. Pour vérifier que l'opération s'est déroulée correctement, on saisie la commande :
{{ Box Console | objet=sudo klist }}
qui doit retourner dans ce cas :
{{ Box Console | objet=Ticket cache: FILE:/tmp/krb5cc_0<br />
Default principal: administrateur@GOULOUXIOU.LAN<br /><br />
Valid starting    Expires            Service principal<br />
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 :
{{ Box Console | objet=sudo rm /etc/samba/smb.conf }}
Création d'un nouveau fichier vierge :
{{ Box Console | objet=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 :
{{ Box Console | objet=sudo service smbd restart}}
Puis on ajoute la machine au contrôleur de domaine :
{{ Box Console | objet=sudo net join ads -U Administrateur -S ORCADE.GOULOUXIOU.LAN }}
Le terminal de commande doit retourner :
{{ Box Console | objet=Enter administrateur's password:<br />
Using short domain name -- GOULOUXIOU<br />
Joined 'OXTRODEX' to realm 'goulouxiou.lan'
}}
Création du dossier pour le répertoire des utilisateurs du domaine :
{{Box Console | objet=
sudo mkdir /home/GOULOUXIOU<br />
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 :
{{ Box Console | objet=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 :
{{ Box Console | objet=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 :
{{ Box Console | objet=
oxtrode@oxtrodex:~$ sudo getent passwd<br />
[...]<br />
administrator:*:10000:10002:Administrateur:/home/GOULOUXIOU/administrator:/bin/bash<br />
invité:*:10001:10003:Invité:/home/GOULOUXIOU/invité:/bin/bash<br />
support_388945a0:*:10002:10002:SUPPORT_388945a0:/home/GOULOUXIOU/support_388945a0:/bin/bash<br />
krbtgt:*:10003:10002:krbtgt:/home/GOULOUXIOU/krbtgt:/bin/bash<br />
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''' :
{{ Box Console | objet=sudo cp /etc/pam.d/common-account /etc/pam.d/common-account.bak}}
Suppression du fichier '''/etc/pam.d/common-account''' :
{{ Box Console | objet=sudo rm /etc/pam.d/common-account}}
Création d'un fichier vierge '''/etc/pam.d/common-account''' :
{{ Box Console | objet=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''' :
{{ Box Console | objet=sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.bak}}
Suppression du fichier '''/etc/pam.d/common-auth''' :
{{ Box Console | objet=sudo rm /etc/pam.d/common-auth}}
Création d'un fichier vierge '''/etc/pam.d/common-auth''' :
{{ Box Console | objet=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''' :
{{ Box Console | objet=sudo cp /etc/pam.d/common-session /etc/pam.d/common-session.bak}}
Suppression du fichier '''/etc/pam.d/common-session''' :
{{ Box Console | objet=sudo rm /etc/pam.d/common-session}}
Création d'un fichier vierge '''/etc/pam.d/common-session''' :
{{ Box Console | objet=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''' :
{{ Box Console | objet=sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bak}}
Suppression du fichier '''/etc/pam.d/sudo''' :
{{ Box Console | objet=sudo rm /etc/pam.d/sudo}}
Création d'un fichier vierge '''/etc/pam.d/sudo''' :
{{ Box Console | objet=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
{{Box Remarque | objet=Redémarrez la machine !}}
== Montage des répertoires utilisateurs ==
Les utilisateurs disposent de leur répertoire personnel sur le contrôleur de domaine Windows. Ce répertoire est accessible automatiquement depuis un système d'exploitation Windows. Cela peut également être le cas sur Linux/Ubuntu.
Notre contrôleur de domaine a pour adresse IP 10.0.0.45 et dispose de deux partages:
\\10.0.0.45\Ressources où sont stockés tous les fichiers partagés publiques;
\\10.0.0.45\Utilisateurs\<login> où est stocké le répertoire personnel de l'utilisateurs.
Pour ces deux ressources, un identifiant ainsi qu'un mot de passe sont nécessaires pour y avoir accès.
=== Installation de libpam-mount ===
Installation des paquets :
{{ Box_Console | objet=sudo apt-get install libpam-mount smbfs }}
Mise à jour des droits du fichier de configuration :
{{ Box_Console | objet=sudo chmod +s /usr/bin/smbmount }}
Création du fichier /etc/pam.d/common-pammount :
auth            optional pam_mount.so use_first_pass
session        optional pam_mount.so use_first_pass
On ajoute au début du fichier /etc/pam.d/lightdm la ligne suivante :
@include common-pammount
{{ Box Information | objet=/etc/pam.d/lightdm pour Unity et /etc/pam.d/gdm pour gnome. A adapter.}}
=== Montage automatique des partages ===
Les montages sont définis dans le fichier /etc/security/pam_mount.conf.xml. Le fichier est au format xml. La déclaration des montages doit se faire après la ligne <!-- Volume definitions -->.
Tous d'abord nous allons définir le montage du répertoire utilisateur qui se trouve sur le contrôleur de domaine windows dans le dossier partagé Utilisateurs :
<volume <span style="color:red">fstype="cifs"</span> <span style="color:green">server="10.0.0.36"</span> <span style="color:blue">path="Utilisateurs/%(USER)"</span> <span style="color:purple">mountpoint="/media/%(USER)"</span> <span style="color:cyan">user="*"</span> />
Maintenant, nous allons définir le montage du répertoire partagé Ressources :
<volume <span style="color:red">fstype="cifs"</span> <span style="color:green">server="10.0.0.36"</span> <span style="color:blue">path="Ressources"</span> <span style="color:purple">mountpoint="/media/Ressources"</span> <span style="color:cyan">user="*"</span> />
Voici la signification des paramètres :
* '''<span style="color:red">type de montage :</span>''' cifs
* '''<span style="color:green">Adresse IP/nom de serveur :</span>''' 10.0.0.36
* '''<span style="color:blue">Adresse du répertoire partagé :</span>''' adresse depuis la racine du partage sur le contrôleur de domaine.
* '''<span style="color:purple">Point de montage sur le client :</span>''' On le définit dans le répertoire /media. Ainsi l'utilisateur aura un lien directe vers le partage depuis le menu de gauche dans l'explorateur Nautilus.
* '''<span style="color:cyan">Utilisateur :</span>''' On utilise les identifiants de l'utilisateur courant.
=== Configuration de PAM ===
==== /etc/pam.d/common-auth ====
Ajouter à la première ligne :
auth sufficient pam_mount.so use_first_pass
==== /etc/pam.d/common-account ====
Ajouter à la première ligne :
account sufficient pam_mount.so use_first_pass
== Sources ==
* Bases de données Ubuntu Francophones : http://doc.ubuntu-fr.org/tutoriel/comment_ajouter_machine_ubuntu_dans_domaine_active_directory
* Communauté Ubuntu : http://forum.ubuntu-fr.org/viewtopic.php?id=143501
* Partage Windows : http://doc.ubuntu-fr.org/installation/monterpartagewindows

Dernière version du 13 juillet 2024 à 19:13

Rôles Active Directory

Installation du rôle ADCS | Gestion des certificats | Authentification par cartes à puce

Installation du rôle ADDS | Sécuriser son environnement Active Directory | Windows LAPS | gMSA


Archives : Contrôleur de domaine Windows Server 2003 | Intégration Client Ubuntu sur AD Windows Server 2003 | Windows Server 2008

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 Administrateur@GOULOUXIOU.LAN

Le terminal doit demander le mot de passe du compte administrateur. 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: administrateur@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 Administrateur -S ORCADE.GOULOUXIOU.LAN

Le terminal de commande doit retourner :

Enter administrateur'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 !

Montage des répertoires utilisateurs

Les utilisateurs disposent de leur répertoire personnel sur le contrôleur de domaine Windows. Ce répertoire est accessible automatiquement depuis un système d'exploitation Windows. Cela peut également être le cas sur Linux/Ubuntu.

Notre contrôleur de domaine a pour adresse IP 10.0.0.45 et dispose de deux partages: \\10.0.0.45\Ressources où sont stockés tous les fichiers partagés publiques; \\10.0.0.45\Utilisateurs\<login> où est stocké le répertoire personnel de l'utilisateurs. Pour ces deux ressources, un identifiant ainsi qu'un mot de passe sont nécessaires pour y avoir accès.

Installation de libpam-mount

Installation des paquets :

sudo apt-get install libpam-mount smbfs

Mise à jour des droits du fichier de configuration :

sudo chmod +s /usr/bin/smbmount

Création du fichier /etc/pam.d/common-pammount :

auth            optional pam_mount.so use_first_pass
session         optional pam_mount.so use_first_pass

On ajoute au début du fichier /etc/pam.d/lightdm la ligne suivante :

@include common-pammount

/etc/pam.d/lightdm pour Unity et /etc/pam.d/gdm pour gnome. A adapter.

Montage automatique des partages

Les montages sont définis dans le fichier /etc/security/pam_mount.conf.xml. Le fichier est au format xml. La déclaration des montages doit se faire après la ligne .

Tous d'abord nous allons définir le montage du répertoire utilisateur qui se trouve sur le contrôleur de domaine windows dans le dossier partagé Utilisateurs :

<volume fstype="cifs" server="10.0.0.36" path="Utilisateurs/%(USER)" mountpoint="/media/%(USER)" user="*" />

Maintenant, nous allons définir le montage du répertoire partagé Ressources :

<volume fstype="cifs" server="10.0.0.36" path="Ressources" mountpoint="/media/Ressources" user="*" />

Voici la signification des paramètres :

  • type de montage : cifs
  • Adresse IP/nom de serveur : 10.0.0.36
  • Adresse du répertoire partagé : adresse depuis la racine du partage sur le contrôleur de domaine.
  • Point de montage sur le client : On le définit dans le répertoire /media. Ainsi l'utilisateur aura un lien directe vers le partage depuis le menu de gauche dans l'explorateur Nautilus.
  • Utilisateur : On utilise les identifiants de l'utilisateur courant.

Configuration de PAM

/etc/pam.d/common-auth

Ajouter à la première ligne :

auth sufficient pam_mount.so use_first_pass

/etc/pam.d/common-account

Ajouter à la première ligne :

account sufficient pam_mount.so use_first_pass

Sources