« Intégration Client Ubuntu sur AD Windows Server 2003 » : différence entre les versions
Aucun résumé des modifications |
|||
(24 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 == | ||
Ligne 8 : | Ligne 10 : | ||
* Poste client fonctionnant sous Ubuntu 11.04 à jour. | * Poste client fonctionnant sous Ubuntu 11.04 à jour. | ||
Pour l'exemple, les informations suivantes seront | 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 | ||
Ligne 22 : | Ligne 24 : | ||
et 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 === | === Installation des paquets === | ||
Ligne 29 : | Ligne 35 : | ||
== Configuration == | == Configuration == | ||
=== Likewise === | === Likewise === | ||
Depuis un terminal de commande : | Depuis un terminal de commande : | ||
{{ Box Console | objet=sudo domainjoin-cli join GOULOUXIOU.LAN | {{ 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= | {{ 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 | ||
Ligne 85 : | Ligne 85 : | ||
Pour tester l'authentification, on tente de se loguer avec le compte administrator du domaine. Pour cela, on tape depuis le terminal : | 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 | {{ Box Console | objet=sudo kinit Administrateur@GOULOUXIOU.LAN}} | ||
Le terminal doit demander le mot de passe du compte | 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 }} | {{ Box Console | objet=sudo klist }} | ||
qui doit retourner dans ce cas : | qui doit retourner dans ce cas : | ||
{{ Box Console | objet=Ticket cache: FILE:/tmp/krb5cc_0<br /> | {{ Box Console | objet=Ticket cache: FILE:/tmp/krb5cc_0<br /> | ||
Default principal: | Default principal: administrateur@GOULOUXIOU.LAN<br /><br /> | ||
Valid starting Expires Service principal<br /> | Valid starting Expires Service principal<br /> | ||
Ligne 127 : | Ligne 127 : | ||
On redémarre le serveur samba : | On redémarre le serveur samba : | ||
{{ Box Console | objet=sudo service smbd restart}} | {{ Box Console | objet=sudo service smbd restart}} | ||
Puis on ajoute la machine au contrôleur de domaine : | Puis on ajoute la machine au contrôleur de domaine : | ||
{{ Box Console | objet=sudo net join ads -U | {{ Box Console | objet=sudo net join ads -U Administrateur -S ORCADE.GOULOUXIOU.LAN }} | ||
Le terminal de commande doit retourner : | Le terminal de commande doit retourner : | ||
{{ Box Console | objet=Enter | {{ Box Console | objet=Enter administrateur's password:<br /> | ||
Using short domain name -- GOULOUXIOU<br /> | Using short domain name -- GOULOUXIOU<br /> | ||
Joined 'OXTRODEX' to realm 'goulouxiou.lan' | 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 == | == Sources == | ||
Ligne 141 : | Ligne 278 : | ||
* Bases de données Ubuntu Francophones : http://doc.ubuntu-fr.org/tutoriel/comment_ajouter_machine_ubuntu_dans_domaine_active_directory | * 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 | * 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
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 :
|
|
Configuration
Likewise
Depuis un terminal de commande :
|
|
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 :
|
|
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 :
Kerberos
Suppression du fichier de configuration initial :
|
|
Création d'un nouveau fichier vierge:
|
|
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 :
|
|
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 :
|
|
qui doit retourner dans ce cas :
|
|
Intégration de la machine au Contrôleur de Domaine
Configuration de Samba
Suppression du fichier de configuration Samba :
|
|
Création d'un nouveau fichier vierge :
|
|
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 :
|
|
Puis on ajoute la machine au contrôleur de domaine :
|
|
Le terminal de commande doit retourner :
|
|
Création du dossier pour le répertoire des utilisateurs du domaine :
|
|
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 :
|
|
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 :
|
|
Où l'on doit remarquer la présence des enregistrement suivants, correspondant aux utilisateurs du domaine Active Directory sur le serveur Windows Server 2003 :
|
|
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 :
|
|
Suppression du fichier /etc/pam.d/common-account :
|
|
Création d'un fichier vierge /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 :
|
|
Suppression du fichier /etc/pam.d/common-auth :
|
|
Création d'un fichier vierge /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 :
|
|
Suppression du fichier /etc/pam.d/common-session :
|
|
Création d'un fichier vierge /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 :
|
|
Suppression du fichier /etc/pam.d/sudo :
|
|
Création d'un fichier vierge /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 :
|
|
Mise à jour des droits du fichier de configuration :
|
|
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
- 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