[prev in list] [next in list] [prev in thread] [next in thread]
List: mandrake-confirme
Subject: Re: [Confirme] Config pam_mount
From: Stephane Boireau <steph2811 () libertysurf ! fr>
Date: 2003-05-29 18:48:53
[Download RAW message or body]
Bonsoir,
J'ai effectué quelques tests avec succès pour la mise en place de pam_mount.
Il s'agit de faire d'une machine Linux un client pour un domaine Window$/Samba
avec montage du Home distant.
Merci à Yann CANTIN sans qui j'aurais probablement repoussé mes essais.
J'ai fait des essais en partant de l'installation d'une Mandrake9.0
Et d'autres en partant d'une Mandrake9.0 installée sans choisir
Authentification sur un Domaine Window$ (cela m'a permis de repérer ce qui
changeait vraiment entre ces deux différentes installations).
C'est assez long et détaillé, j'espère.
Je ne livre ici que la première solution.
Je compte remettre le tout en forme sur des pages web, mais pour clore le fil
de cette discussion, je vous transmets le compte-rendu d'une configuration
réussie:
==========================================================
Installation d'une Mdk9.0 avec Authentification sur le Domaine Window$.
Sur votre domaine:
Sur le serveur Samba DeepGlue, le fichier /etc/samba/smb.conf contient la
ligne qui va permettre de créer automatiquement le compte machine pour la
machine cliente DingDong que nous allons installer:
add user script = /usr/sbin/useradd -d /dev/null -g machines -c 'Machine
Account' -s /bin/false -M %m$
Sur la future machine cliente DingDong, qui n'est encore qu'un amas
d'électronique ou qui peut-être pire, héberge le virus M$Window$;o):
Effectuer une Installation en mode Expert, avec les paquetages que vous
souhaitez (Client réseau tout de même).
Et lors de la saisie du mot de passe root, n'allez pas trop vite:
Dans le champ "Authentification", ne laissez pas "Fichiers locaux", mais
sélectionnez "Domaine Window$" (même si votre domaine est en fait un Domaine
Samba).
Il vous est ensuite demandé le nom du domaine, le nom du compte administrateur
du domaine et son mot de passe.
Une fenêtre vous explique ensuite ce qui va être fait et comment faire le
travail à la main si pour une raison ou une autre cela échouait.
Et c'est tout on passe à la suite de la configuration post-installation.
Ne jetez pas un oeil à ce stade à vos fichiers /etc/passwd, /etc/shadow et
/etc/samba/smbpasswd sur DeepGlue, ils ne contiennent encore aucune
information sur DingDong (ne le faites pas, vous dis-je il n'y a rien sur
DingDong (ni dingdong), j'ai vérifié... et ce n'était pas bien malin comme
vous allez le voir).
Dans la phase de post-installation, une étape importante est la configuration
du réseau...
... une fois cette configuration effectuée, on a un peu plus de chance
d'intégrer le Domaine Window$;o).
Je n'ai pas contrôlé à quel moment après cette installation, l'intégration au
Domaine s'est produite, mais les fichiers /etc/passwd, /etc/shadow et
/etc/samba/smbpasswd sur DeepGlue ont bien vu apparaitre une ligne concernant
dingdong.
Est-ce juste après la configuration réseau ou au premier boot, je l'ignore.
Remarque:
Au premier démarrage, kdm n'a pas trouvé un seul utilisateur sur le Domaine.
J'ai redémarré le serveur X et tous mes utilisateurs sur le domaine sont
apparus.
Comme j'ai eu la mauvaise idée de choisir un nom de domaine "MaMaison" avec
des caractères en majuscules/minuscules et que le nom de domaine reconnu est
"MAMAISON", il se pose un problème avec la ligne "template homedir =
/home/%D/%U" dans le /etc/samba/smb.conf de DingDong.
Je me suis donc logué en root et j'ai modifié cette ligne en "template homedir
= /home/MaMaison/%U".
"template homedir = /home/%U" aurait également convenu et c'est ce que j'avais
fait lors de tests précédents.
J'ai ensuite redémarré winbind:
[root@DingDong root]# /etc/init.d/winbind restart
De retour à l'interface graphique: KDM
J'ai pu me loguer sans problème avec un compte défini sur le Domaine MaMaison
(c'est-à-dire un utilisateur Linux/Samba défini sur le serveur DeepGlue).
Reste à mettre en oeuvre pam_mount.
Création d'un point de montage pour accueillir le montage du Home distant.
[root@DingDong root]# mkdir "/etc/skel/Mes Documents"
Récupération et désarchivage de pam-mount.tar.gz.
<<<Adresse sur internet à retrouver>>>
Le fichier pam-mount.tar.gz récupéré sur DeepGlue, j'ai dû renseigner le
/etc/hosts de DingDong pour qu'il parvienne à effectuer le montage smb
nécessaire à la récupération de l'archive pam-mount.tar.gz sur DingDong.
[root@DingDong root]# echo "192.168.52.182 DeepGlue" >> /etc/hosts
[root@DingDong root]# smbmount //DeepGlue/public /mnt/disk
Password:
Anonymous login successful
[root@DingDong root]# cp /mnt/public/pam_mount.tar.gz ./
[root@DingDong root]# tar -xvzf pam-mount.tar.gz
[root@DingDong root]# cd pam_mount-0.5.14
[root@DingDong pam_mount-0.5.14]# ./configure
Et des erreurs sont apparues lors de la tentative de compilation.
J'ai donc procédé à des installations de paquetages pour satisfaire
dépendances et présence des outils de compilation.
[root@DingDong pam_mount-0.5.14]# urpmi gcc
Cela m'a aussi installé:
binutils-2.12.90.0.15-1mdk.i586
gcc-3.2-1mdk.i586
glibc-devel-2.2.5-16mdk.i586
kernel-headers-2.4.18-41mdk.i586
libbinutils2-2.12.90.0.15-1mdk.i586
Il me manquait alors encore le fichier pam_modules.h
Une recherche m'a indiqué plusieurs paquetages proposant ce fichier.
[root@DingDong pam_mount-0.5.14]# urpmi pam-devel
Tout est là, on passe à la compilation et à l'installation:
[root@DingDong pam_mount-0.5.14]# ./configure
...
[root@DingDong pam_mount-0.5.14]# make
...
[root@DingDong pam_mount-0.5.14]# make install
...
[root@DingDong pam_mount-0.5.14]# cp ./config/pam_mount.conf /etc/security/
[root@DingDong pam_mount-0.5.14]# vi /etc/security/pam_mount.conf
Et modification du fichier de façon à n'avoir pour seules lignes non
commentées que:
==================
#debug 1
mkmountpoint 1
lsof /usr/sbin/lsof
options_require nosuid,nodev
smbmount /bin/mount -t smbfs
umount /bin/umount
volume * smb DeepGlue & ~/Mes\ Documents uid=&,gid=&,fmask=0650,dmask=0750 - -
==================
La ligne "debug 1" est à commenter une fois que cela fonctionne bien.
Edition de /etc/pam.d/system-auth:
De:
==================
#%PAM-1.0
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
use_first_pass
auth required /lib/security/pam_deny.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so retry=3 minlen=2
dcredit=0 ucredit=0
password sufficient /lib/security/pam_unix.so nullok use_authtok md5
shadow
password required /lib/security/pam_deny.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel/
umask=0022
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
==================
Passer à:
==================
#%PAM-1.0
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
auth requisite /lib/security/pam_winbind.so use_first_pass
auth sufficient /lib/security/pam_mount.so use_first_pass
auth required /lib/security/pam_deny.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so retry=3 minlen=2
dcredit=0 ucredit=0
password sufficient /lib/security/pam_unix.so nullok use_authtok md5
shadow
password required /lib/security/pam_deny.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel/
umask=0022
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
session required /lib/security/pam_mount.so
==================
On veille à donner la priorité à l'authentification locale pam_unix pour
permettre à root de se loguer quoi qu'il arrive avec pam_winbind et
pam_mount.
Le module pam_winbind récupére le mot de passe saisi à l'étape précédente
comme l'indique le paramètre use_first_pass.
De la même façon le mot de passe pour pam_mount est récupéré de la saisie
précédente.
Attention aux fautes de frappes dans /etc/pam.d/system-auth
Et dans toute votre phase de tests, conservez une console root ouverte et
faites des essais de login dans d'autres consoles.
Il peut arriver qu'un "su" ne fonctionne plus, ne vous contentez donc pas
d'une console avec un utilisateur non root.
Si toutefois vous rencontriez une situation de blocage, démarrez Lilo avec
l'option: "linux single"
Vous pourrez vous loguer sans mot de passe et corriger vos bêtises;o).
Ceci étant fait, vous devez pouvoir vous loguer et obtenir votre home distant
dans "~/Mes Documents".
Remarques:
Si cela ne se passe pas comme prévu, depuis la console où vous êtes root (vous
en avez bien une, n'est-ce pas?) lancez les commandes suivantes:
[root@DingDong root]# tail /var/log/auth.log
Et
[root@DingDong root]# tail /var/log/syslog
Vous pourriez obtenir des informations sur la cause du problème.
==========================================================
Encore merci à tous et plus particulièrement à Yann.
--
Stephane Boireau
["message.footer" (text/plain)]
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com"
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic