[Résolu] Script pour monter les partitions distantes :

Bonsoir,

A la maison, sur 4 machines, plus qu’une seule en Windows XP. Les autres sont sous Ubuntu (1 Desktop) et Debian Lenny (2 laptops).

Le “serveur” de fichier reste sous XP car il possède les plus gros disques durs et mes filles et ma femme préfèrent quand même XP car elles l’ont toujours eu !

Sur chaque machine Debian ou Ubuntu, j’ai 2 lignes dans /etc/fstab qui montent automatiquement les 2 disques distants sur le “serveur” XP. Seulement, bien sûr, si le serveur n’est pas allumé, le montage ne marche pas.

Pour faciliter l’utilisation de ces machines clientes, je voudrai écrire un script facile à lancer (par double-clic par exemple) pour monter ces disques distants pour les utilisateurs lambda.

Mon /etc/fstab qui monte les disques distants “datas” et “media” :

# montages samba //hp-fixe/datas /media/datas cifs auto,credentials=/root/.smbcredentials,iocharset=utf8,codepage=cp850,dir_mode=0777,file_mode=0777 0 0 //hp-fixe/media /media/media cifs auto,credentials=/root/.smbcredentials,iocharset=utf8,codepage=cp850,dir_mode=0777,file_mode=0777 0 0

J’ai déjà écrit un script qui exécute le montage de la façon suivante :

$ cat /usr/bin/montage_serveur #!/bin/sh mount /media/media mount /media/datas

Je suis utilisateur validé comme sudo, je peux donc lancer ce script sans soucis, sous réserve de saisir 2 fois mon mot de passe (1ère surprise).

J’ai modifié le fichier /etc/sudoers pour donner des droits étendues sur les commandes des scripts et de mount.
Voici mon /etc/sudoers :

[code]# /etc/sudoers

This file MUST be edited with the ‘visudo’ command as root.

See the man page for details on how to write a sudoers file.

Host alias specification

Host_Alias ATHLON64 = localhost

User alias specification

User_Alias SERVEUR = fabienne, roxane, tiphaine

Cmnd alias specification

Cmnd_Alias MONTAGE_SERVEUR = /usr/bin/montage_serveur, /usr/bin/demontage_serveur
Cmnd_Alias MOUNT = /usr/bin/mount

Runas_Alias

Runas_Alias GROUPE_DE_RUN = root

Defaults

Defaults !lecture,tty_tickets,!fqdn

User privilege specification

root ALL=(ALL) ALL

Members of the admin group may gain root privileges

%admin ALL=(ALL) ALL

Membres autorisés à monter les disques distants sur serveur hp-fixe

#Cmnd_Alias MONTAGE_SERVEUR = /usr/bin/montage_serveur
#%serveur ALL=(ALL) ALL, NOPASSWD: MONTAGE_SERVEUR
#fabienne Cmnd ::= ’!’* montage_serveur

SERVEUR ATHLON64 = (GROUPE_DE_RUN)NOPASSWD:MONTAGE_SERVEUR
SERVEUR ATHLON64 = (GROUPE_DE_RUN)NOPASSWD:MOUNT[/code]

La commande /usr/bin/montage_serveur (qui lance mon script de montage des 2 disques) nécessite d’être lancée en sudo pour l’utilisateur fabienne par exemple. Plus ennuyeux, la saisie du mot de passe de cet utilisateur est requise. Je pensais que le “NOPASSWD” évitait ça.

Questions :

  1. Comment éviter la saisie du mot de passer pour les utilisateurs du groupe SERVEUR ?
  2. Comment lancer ce script par une icône à placer sur chaque bureau de ces utilisateurs ?
  3. Bien entendu, si des solutions plus simples existent que celle expliqué ci-dessus, je ne suis pas regardant :laughing:

Merci d’avance de bien vouloir me mettre sur la voie.

Bonsoir
Pour le 1) le NOPASSWD devrait fonctionner
tu as bien relancé sudo après avoir modifié /etc/sudoers ?

en ajoutant dans /etc/sudoers

ça permet de ne pas retaper le mot de passe dans un délai de 2 min

AMA, la solution la plus simple est plutot de monter tes partages avec autofs:
greenfly.org/tips/autofs.html
C’est ce qu’on appelle un automounter: quand un user parcours un répertoire d’un point de montage gèré par l’autofs, ça monte à ce moment là le systême distant s’il est disponible et l’user percoit ça comme s’il etait tout le temps monté. Ta famille n’aura plus qu’a allumer le serveur et à rafraichir la fenètre pour voir ses fichiers.

Merci à vous 2 pour ces informations. La solution proposée par Mat me semble la plus séduisante. Je vais regarder ça de près ce soir ou ce WE (là, je suis au boulot sous XP).

Bon, ben, ça marche nickel. J’ai un peu pataugé au début pour savoir quels fichiers étaient utilisés réellement, car franchement, la doc n’est pas conviviale pour un newbie, mais grâce à quelques exemples glanés grâce à Google je m’en suis sorti.

Merci encore :smiley: