Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
tutoriel:comment_integrer_machine_ubuntu_domaine_nt_samba [Le 13/03/2008, 11:14] Ner0lph créée depuis « comment_integrer_machine_ubuntu_dans_domaine_nt_samba » |
tutoriel:comment_integrer_machine_ubuntu_domaine_nt_samba [Le 11/09/2022, 12:21] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>samba serveur réseau authentification administration tutoriel BROUILLON}} | + | {{tag>samba serveur réseau authentification administration tutoriel }} |
---- | ---- | ||
Ligne 5: | Ligne 5: | ||
====== Comment intégrer une machine Ubuntu dans un domaine NT Samba ? ====== | ====== Comment intégrer une machine Ubuntu dans un domaine NT Samba ? ====== | ||
- | Beaucoup de vieux réseau géré par un contrôleur de domaine NT4 ont été remplacés à moindre coût par des serveurs avec Samba paramétré en PDC. Ainsi, les utilisateurs des différentes versions de MS Windows (98 à XP) peuvent continuer à s'authentifier et partager des ressources. Mais si vous désirez également remplacer ou intégrer des machines équipées d'Ubuntu (K/X/Ed/Ubuntu compris) il serait intéressant qu'elles aient accès au même réseau et service. | + | Beaucoup de vieux réseaux gérés par un contrôleur de domaine NT4 ont été remplacés à moindre coût par des serveurs avec Samba paramétré en PDC. Ainsi, les utilisateurs des différentes versions de MS Windows (98 à XP) peuvent continuer à s'authentifier et partager des ressources. Mais si vous désirez également remplacer ou intégrer des machines équipées d'Ubuntu (K/X/Ed/Ubuntu compris) il serait intéressant qu'elles aient accès au même réseau et service. |
Si c'est la connexion à un domaine Microsoft Active Directory qui vous intéresse reportez vous au tutoriel « [[:tutoriel:comment_ajouter_machine_ubuntu_dans_domaine_active_directory|Comment ajouter une machine Ubuntu dans un domaine Microsoft Active Directory ?]] ». | Si c'est la connexion à un domaine Microsoft Active Directory qui vous intéresse reportez vous au tutoriel « [[:tutoriel:comment_ajouter_machine_ubuntu_dans_domaine_active_directory|Comment ajouter une machine Ubuntu dans un domaine Microsoft Active Directory ?]] ». | ||
+ | Si vous avez besoin de mettre en place un contrôleur de domaine Active Directory, [[:samba4|Samba4]] offre cette possibilité et plus encore ! | ||
===== Installation ===== | ===== Installation ===== | ||
- | Pour pouvoir intégrer un PC Ubuntu à un domaine Samba, il vous faut installer le paquet //winbind// seul. Vous n'avez pas besoin du serveur Samba, seul le client Samba installé par défaut avec votre Ubuntu suffit. Pour accéder aux partages SMB de manière automatique, il faut utiliser la bibliothèque //libpam-mount// et //smbfs//. Vous avez donc à [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **winbind libpam-mount smbfs**. | + | Pour pouvoir intégrer un PC Ubuntu à un domaine Samba, il vous faut installer le paquet //winbind// seul. Vous n'avez pas besoin du serveur Samba, seul le client Samba installé par défaut avec votre Ubuntu suffit. Pour accéder aux partages SMB de manière automatique, il faut utiliser la bibliothèque //libpam-mount// et //cifs-utils//. Vous avez donc à [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://winbind,libpam-mount,smbfs|winbind libpam-mount cifs-utils]]** sur la machine à joindre et non sur le serveur PDC Samba. |
Ligne 24: | Ligne 25: | ||
Le fichier « /etc/nsswitch.conf » est le fichier de configuration des bases de données systèmes et des services de noms. | Le fichier « /etc/nsswitch.conf » est le fichier de configuration des bases de données systèmes et des services de noms. | ||
- | C'est à lui que l'on va dire d'utiliser //winbind// pour trouver les noms d'utilisateurs et groupes rattachés au domaine. | + | C'est à lui que l'on va dire d'utiliser //Winbind// pour trouver les noms d'utilisateurs et groupes rattachés au domaine. |
- | Il faut ajouter winbind à passwd et group et rajouter wins à hosts. | + | Il faut ajouter //winbind// à //passwd// et //group//, et rajouter //wins// à //hosts//. |
[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/nsswitch.conf**. | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/nsswitch.conf**. | ||
Ligne 55: | Ligne 56: | ||
^ Paramètre ^ Exemple ^ Rôle et observations ^ | ^ Paramètre ^ Exemple ^ Rôle et observations ^ | ||
|workgroup|<file>workgroup = NomDomaineSamba</file>|Cela correspond au nom de votre domaine.| | |workgroup|<file>workgroup = NomDomaineSamba</file>|Cela correspond au nom de votre domaine.| | ||
- | |netbios name|<file>netbios name = Nom_netbios_de_ma_machine</file>|C'est le nom que votre machine doit avoir sur le réseau NetBios.\\ **attention ce nom doit être unique** au risque de collision et impossibilité de vous connecter| | + | |netbios name|<file>netbios name = Nom_netbios_de_ma_machine</file>|C'est le nom que votre machine doit avoir sur le réseau NetBios.\\ **Attention : ce nom doit être unique** au risque de collision et impossibilité de vous connecter.| |
- | |security|<file>security = DOMAIN</file>|Ce paramètre indique que l'on veut que les options de sécurité soit au Domaine| | + | |security|<file>security = DOMAIN</file>|Ce paramètre indique que l'on veut que les options de sécurité soient au domaine| |
- | |wins server|<file>wins server = 10.0.0.1</file>|Très important pour la résolution de nom netbios, généralement c'est votre serveur Samba qui est serveur Wins.| | + | |wins server|<file>wins server = 10.0.0.1</file>|Très important pour la résolution de nom NetBios, généralement c'est votre serveur Samba qui est serveur Wins.| |
|winbind separator|<file>winbind separator = /</file>|C'est pour séparer le nom du domaine de l'utilisateur lors de la connexion (ex. : DOMAIN_SMB/Nom_utilisateur)| | |winbind separator|<file>winbind separator = /</file>|C'est pour séparer le nom du domaine de l'utilisateur lors de la connexion (ex. : DOMAIN_SMB/Nom_utilisateur)| | ||
- | |winbind uid|<file>winbind uid = 10000-20000</file>|C'est pour indiquer la plage de numéro uid que les utilisateurs du domaine auront.| | + | |winbind uid|<file>winbind uid = 10000-20000</file>|C'est pour indiquer la plage de numéro uid que les utilisateurs du domaine utiliseront.| |
|winbind gid|<file>winbind gid = 10000-20000</file>|Idem mais pour les groupes.| | |winbind gid|<file>winbind gid = 10000-20000</file>|Idem mais pour les groupes.| | ||
- | |winbind use default domain|<file>winbind use default domain = yes</file>|Configure winbind en domaine par défaut.| | + | |winbind use default domain|<file>winbind use default domain = yes</file>|Configure //Winbind// en domaine par défaut.| |
|template shell|<file>template shell = /bin/bash</file>|Donne le shell par défaut des utilisateurs du domaine| | |template shell|<file>template shell = /bin/bash</file>|Donne le shell par défaut des utilisateurs du domaine| | ||
- | |template homedir|<file>template homedir = /home/%D/%U</file>|Indique l'emplacement des répertoires "Home" des utilisateurs du domaine. Il faudra créer le répertoire %D avec D = au nom du domaine Samba. Ce répertoire doit être créer avec les droits root, sinon les utilisateurs du domaine ne pourront pas ouvrir de session même si l'authentification a réussi.| | + | |template homedir|<file>template homedir = /home/%D/%U</file>|Indique l'emplacement des répertoires "Home" des utilisateurs du domaine. Il faudra créer le répertoire %D avec D = au nom du domaine Samba. Ce répertoire doit être créé avec les droits //root//, sinon les utilisateurs du domaine ne pourront pas ouvrir de session même si l'authentification a réussi.| |
Ligne 106: | Ligne 107: | ||
wbinfo -g ##renvoie la liste des groupes | wbinfo -g ##renvoie la liste des groupes | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== Configuration de pam_mount ===== | ===== Configuration de pam_mount ===== | ||
+ | **Modification des fichiers de configuration pour l'authentification réseau (logiciel PAM)** | ||
+ | [[:tutoriel:comment_editer_un_fichier|éditez le fichier]]/etc/pam.d/gdm et [[:tutoriel:comment_editer_un_fichier|éditez le fichier]]/etc/pam.d/gdm-autologin | ||
- | Ici nous allons configurer le fichier /etc/security/pam_mount.conf, qui permettra de gérer le montage automatique des partages Samba de l'utilisateur. | ||
- | exemple de fichier: | + | Y ajouter à la fin : |
+ | ''@include common-pammount'' | ||
+ | |||
+ | Dans les secondes lignes des fichiers | ||
+ | /etc/pam.d/common-account | ||
+ | et /etc/pam.d/common-auth | ||
+ | remplacer ''sufficient'' par ''required'' (sinon l'utilisateur peut ouvrir une session même s'il s'est trompé dans le mot de passe). | ||
+ | |||
+ | Les dernières versions de pam_mount se configurent dans un fichier au format XML. | ||
+ | |||
+ | [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] /etc/security/pam_mount.conf.xml | ||
+ | |||
+ | L'ajout de lecteurs à monter au démarrage se fait aux alentours de la ligne 270, après une grande partie de commentaires (en bleu dans gedit). | ||
+ | |||
+ | Pour monter les lecteurs au protocole CIFS ajoutez des lignes comme dans les exemples : | ||
+ | |||
+ | **Partage global :** | ||
+ | |||
+ | <code><volume fstype="cifs" server="NomDuServeurDePartage" path="INTRANET$" mountpoint="/media/intranet/" user="*" options="rw,auto,iocharset=utf8" /> | ||
+ | </code> | ||
+ | |||
+ | **Dossiers de l'utilisateur :** | ||
+ | |||
+ | Pour utiliser l'identifiant de l'utilisateur dans les chemins des dossier à monter, on peut utiliser la variable %(USER) comme dans l'exemple qui suit: | ||
+ | |||
+ | |||
+ | <code> | ||
+ | <volume fstype="cifs" server="NomDuServeurDePartage" path="DOS_PERSO$/%(USER)" mountpoint="/media/%(USER)/" user="*" options="rw,auto,iocharset=utf8" /> | ||
+ | </code> | ||
+ | |||
+ | ===== Alternative à PAM_MOUNT ===== | ||
+ | |||
+ | Une alternative pour le montage de partage Samba est d'utiliser un montage via GDM. Exemple: | ||
+ | |||
+ | Création d'un répertoire « bin » dans le home de l'utilisateur. | ||
+ | Création des répertoires dans « /media » pour le montage des lecteurs réseaux (ici « win32 », « espace_perso ») | ||
+ | |||
+ | Création d'un script à l'intérieur de « $HOME/bin » (.mntrezo) : | ||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | # script montage reseau | ||
+ | # montage de \\serveur_samba\win32 | ||
+ | mount.cifs //Adresse_IP_serveur/win32 /media/win32 -o credentials=/home/Nom_Utilisateur/.smbcredentials,domain=Nom_Domaine,uid=1000,gid=100,file_mode=0660,dir_mode=0770,iocharset=utf8 | ||
+ | # montage de \\serveur_samba/perso | ||
+ | mount.cifs //Adresse_IP_serveur/perso /media/perso -o credentials=/home/Nom_Utilisateur/.smbcredentials,domain=Nom_Domaine,uid=1000,gid=100,file_mode=0660,dir_mode=0770,iocharset=utf8 | ||
+ | </code> | ||
+ | |||
+ | Création du « .smbcredentials » dans « $HOME » : | ||
+ | <code> | ||
+ | nano ~/.smbcredentials | ||
+ | Username=... | ||
+ | password=... | ||
+ | </code> | ||
+ | |||
+ | Pour exécuter le script en tant que root à l'ouverture de session (pour gnome); le dernier script à s'exécuter avec ces droits est dans « /etc/gdm/PreSession/Default ». | ||
+ | Ajouter a la ligne du PATH « /$HOME/bin/ ». A la fin du script juste avant le exit ajouter : | ||
+ | <code> | ||
+ | # Execution du script de login ($HOME/bin/mntrezo) | ||
+ | bash /$HOME/bin/.mntrezo | ||
+ | exit 0 | ||
+ | </code> | ||
+ | |||
+ | Se déconnecter et se reconnecter. Normalement les lecteurs doivent apparaître. | ||
- | FIXME | ||
Ligne 120: | Ligne 190: | ||
- | Les fichiers pam permettent de gérer les connexions et autorisations quelles soient | + | Les fichiers pam permettent de gérer les connexions et autorisations qu'elles soient locales (gdm,kdm,xdm) ou distantes (ssh). |
- | locales (gdm,kdm,xdm) ou distantes (ssh). | + | |
Pour plus d'information sur PAM reportez vous à cette page | Pour plus d'information sur PAM reportez vous à cette page | ||
- | http://www.linux-kheops.com/doc/cours/jgourdin/outils-tcp-ip/Linux-pam.html | + | [[http://www.linux-kheops.com/doc/cours/jgourdin/outils-tcp-ip/Linux-pam.html|http://www.linux-kheops.com/doc/cours/jgourdin/outils-tcp-ip/Linux-pam.html]] |
- | Ici nous voulons que les utilisateurs du domaine puissent se connecter localement donc | + | Ici nous voulons que les utilisateurs du domaine puissent se connecter localement donc nous allons modifier le fichier /etc/pam.d/gdm si vous êtes sous Ed/Ubuntu et si vous |
- | nous allons modifier le fichier /etc/pam.d/gdm si vous êtes sous Ed/Ubuntu et si vous | + | |
utilisez Kubuntu c'est /etc/pam.d/kdm. | utilisez Kubuntu c'est /etc/pam.d/kdm. | ||
- | En prmier faites une copie de sauvegarde de votre fichier d'origine. | + | En premier lieu faites une copie de sauvegarde de votre fichier d'origine. |
- | sudo cp /etc/pam.d/gdm /etc/pam.d/gdm.bak | ||
puis éditez le: | puis éditez le: | ||
Ligne 136: | Ligne 204: | ||
sudo gedit /etc/pam.d/gdm | sudo gedit /etc/pam.d/gdm | ||
- | Supprimez le contenu du fichier (attention d'avoir bien fait la sauvegarde du fichier avant) puis ajoutez les lignes suivantes: | + | Supprimez le contenu du fichier (attention d'avoir bien fait la sauvegarde du fichier avant) puis ajoutez les lignes suivantes : |
<code> | <code> | ||
+ | auth required pam_env.so readenv=1 | ||
+ | auth required pam_env.so readenv=1 envfile=/etc/default/locale | ||
auth required pam_mount.so | auth required pam_mount.so | ||
auth sufficient pam_winbind.so use_first_pass | auth sufficient pam_winbind.so use_first_pass | ||
Ligne 155: | Ligne 225: | ||
---- | ---- | ||
- | //contributeurs: [[:utilisateurs:Manu]].// | + | //contributeurs: [[:contributeurs|les contributeurs d'Ubuntu-fr]].// |