Mettre une mandriva 2008 sur un domaine samba
jeff | 22 mars 2008 | 21 h 02 minConfiguration des clients Mandriva 2008
Lors de l’installation, créez un compte local « prof ». Au redémarrage, copiez son repertoire perso de /home/prof vers /opt/prof. Puis, éditez le fichier /etc/passwd et, sur la ligne prof, changez /home/prof en /opt/prof.
1. Configuration
a. l’authentification
1. Dans une console sous root, tapez « drakauth », le système installe vérifie les dépendances et installe les paquets manquants. Il suffit d’insérer les cd/dvd à la demande.
2. Dans la fenêtre « authentification » qui s’ouvre, cliquez sur ldap .
3. Dans la fenêtre « drakauth », entrez les valeurs « o=gouv,c=fr » pour la racine ldap, puis l’ip du scribe pour le serveur.
L’authentification par ldap fonctionne. Pour la tester, on verifie que les utilisateurs du scribe sont bien reconnus en local : si on tape « id jeff » (n’importe quel utilisateur enregistré dans l’annuaire), on doit obtenir : « uid=12604(jeff)gid=10001(professeurs)groupes=10001(professeurs),12063(agl1),513(domainUsers) »
b. le montage des repertoires perso et des partages
Nous allons monter /home par nfs et les partages par smb et pam-mount. Pam-mount est un script qui permet un montage automatique et entièrement paramétrable des partages samba, à la manière du montage sous windows.
Montage de /home par nfs
1. sur le serveur :
Éditer les 3 fichiers suivants :
1. Pour /etc/exports, ajoutez la ligne suivante :
/home *(rw,sync) Attention : pas d’espace entre * et (rw,sync)
2. Pour /etc/hosts.allow, ajoutez les lignes suivantes
portmap:172.17.212. mountd:172.17.212. lockd:172.17.212. rquotad:172.17.212. statd:172.17.212. où 172.17.212. est l’adresse de votre réseau pédagogique
3. Pour /etc/hosts.deny, ajoutez les lignes suivantes :
portmap :ALL mountd :ALL lockd :ALL rquotad :ALL statd :ALL
Enfin, relancer le service nfs : « service portmap restart » puis « service nfs restart »
2. sur le client
Pour récupérer le /home du scribe en local, éditez le fichier /etc/fstab. Si vous avez une ligne pour une partition montée sur /home, commentez-la (ajoutez une dièse en début de ligne). Puis, après la ligne qui commence par /dev/hda1…, ajoutez la ligne :
172.17.212.1 :/home /home nfs rw 0 0 (remplacez 172.17.212.1 par l’ip de votre scribe)
Montage des partages par samba et pam-mount
S’il ce n’est pas fait, commencez par installer le paquet pam-mount : tapez « urpmi pam-mount » sous root. Nous allons demander au module pam d’inclure pam-mount et paramétrer pam-mount pour qu’il monte les partages commun, groupes et professeurs en smbfs, dans le repertoire /media. On peut les monter ailleurs (mnt, par exemple) à condition que ce soit un repertoire local.
Sous Mandriva, il suffit d’editer /etc/pam.d/system-auth comme suit :
#%PAM-1.0
auth sufficient pam_unix.so auth required pam_mount.so use_first_pass auth required pam_group.so use_first_pass auth sufficient pam_ldap.so use_first_pass auth required pam_env.so
account sufficient pam_ldap.so account sufficient pam_unix.so
password required pam_unix.so nullok obscure min=4 max=8 md5
session required pam_unix.so session optional pam_mkhomedir.so session optional pam_mount.so
Pour configurer le montage des partages samba, editez /etc/security/pam_mount.conf. A la fin de la section Volumes ( au milieu du fichier, elle commence par : « Volumes that will be mounted when user triggers the pam_mount module… »), ajoutez les lignes suivantes :
volume * smbfs scribe commun /media/commun uid=&,gid=&,dmask=777,fmask=777 – - volume * smbfs scribe groupes /media/groupes uid=&,gid=&,dmask=777,fmask=777 – - volume * smbfs scribe professeurs /media/professeurs uid=&,gid=&,dmask=777,fmask=777 – -
Ici, scribe est le nom de mon serveur. Ce script dit à pam que pour tout utilisateur qui s’authentifie, le partage samba « perso » qui est sur la machine scribe doit être monté dans le repertoire /media/perso, en utilisant l’identité et le groupe de cet utilisateur et en donnant les droits 777 sur ce repertoire. Ensuite, c’est le serveur qui gère les droits ; ainsi un élève ne pourra pas accèder au partage professeurs.
4. Problèmes liés à l’authentification distante
Le son, les lecteurs amovibles et les périphériques usb
Pour accéder à la carte son et aux périphériques, les utilisateurs locaux appartiennent aux groupes secondaires audio, plugdev, etc. Les groupes sont définis dans /etc/group. Leurs membres sont nécessairement des utilisateurs locaux. Nous allons demander à pam-group d’intégrer tout utilisateur distant qui s’authentifie par ldap aux groupes locaux audio, video, cdrom, plugdev, floppy et scanner. C’est pour cela que nous avons déjà ajouté pam-group à /etc/pam.d/system-auth. Il nous reste à éditer /etc/security/group.conf et ajouter la ligne :
* ;* ;* ;Al0000-2400 ;floppy,audio,cdrom,video,plugdev,scanner
Dans Al0000-2400, c’est bien la lettre l qui suit le A. Cette plage définit l’heure à laquelle le service est actif. Ici, c’est tout le temps (de 00h à 24h). On pourrait par exemple permettre au prof jeff.bellanger de jouer et d’avoir le son après les heures de travail en l’intégrant aux groupes games et audio. On ajoute la ligne * ;* ;jeff.bellanger ; !Wk0800-1700 ;games,audio
Conclusion :
Cette configuration de /etc/pam.d/system-auth est le meilleur compromis que j’ai pu trouver entre les connexions locales et distantes. Tout fonctionne parfaitement, mais seuls les utilisateurs locaux peuvent accéder à une console. D’autre part, quand un utilisateur local déjà connecté lance la commande su pour devenir root, il doit taper son mot de passe deux fois.
Remerciments à Kalai Medhi de l’académie de Poitiers d’on je mes uis inspiré et à l’équipe Eole de Dijon qui développe scribe.
AUTRES SOLUTIONS :
Les collègues du CDDP des Deux Sèvres ont créés des scripts automatisés pour samba edu et novell.
http://195.221.249.191/linux/region/portables/
Un super travail qu’il faut signaler