Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/12/2012, à 13:58

DonutMan75

[RESOLU] mount d'une clef usb en ligne de commande

Bonjour à tous,

je bloque sur le montage d'une clef usb... En particulier, le repertoire de montage n'est accessible que pour root, ce qui est génant...

$ sudo mkdir /mnt/usb-storage/
$ sudo mount -t vfat /dev/sda1 /mnt/usb-storage/

Le montage est bien là

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
[...]
/dev/sda1        15G   32K   15G   1% /mnt/usb-storage

Cependant le répertoire /mnt/usb-storage/ n'est accessible que pour root, et je ne sais pas comment changer cela ?

$ ll /mnt/
drwxr-xr-x 2 root   root   32768 Jan  1  1970 usb-storage

Avez-vous des idées ?

Merci d'avance

Donut

Dernière modification par DonutMan75 (Le 11/12/2012, à 16:57)

Hors ligne

#2 Le 09/12/2012, à 14:11

f.x0

Re : [RESOLU] mount d'une clef usb en ligne de commande

Bonjour DonutMan75,

tu peux essayer ceci

sudo chmod 775 -R /mnt/usb-storage

SOPI

Hors ligne

#3 Le 09/12/2012, à 14:59

tiramiseb

Re : [RESOLU] mount d'une clef usb en ligne de commande

Si tu veux monter un disque en FAT pire qu'il soit accessible à un autre utilisateur que root, il faut utiliser les options idoines (voir "man mount"). Désolé pour les faibles détails, je suis sur mon téléphone.

Hors ligne

#4 Le 10/12/2012, à 10:35

DonutMan75

Re : [RESOLU] mount d'une clef usb en ligne de commande

Bonjour à vous,
en fait j'ai fait la manip de montage de cette clef USB VFAT dans deux cas :

A) je la monte en tant qu'utilisateur principal Ubuntu (i.e celui crée lors de l'install d'Ubuntu)

$ sudo mkdir /mnt/usb-storage/

>>> Le répertoire appartient à Root

$ sudo mount -t vfat /dev/sda1 /mnt/usb-storage/

>>> Le répertoire usb-storage appartient à l'utilisateur (je peux écrire dedans sans avoir à faire sudo)

Donc ici tout va bien.

B) je la monte en tant qu'utilisateur Pierre "ajouté" (avec adduser) et dont les permissions sudo ont été réglé avec sudo visudo

$ more /etc/sudoers
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
pierre ALL=(ALL) ALL

Auquel cas :

$ sudo mkdir /mnt/usb-storage/

>>> Le répertoire appartient à Root (comme précédemment)

$ sudo mount -t vfat /dev/sda1 /mnt/usb-storage/

>>> Le répertoire usb-storage appartient toujours à Root, je suis obligé de faire des sudo pour pouvoir écrire dedans....

Ma question serait donc : que dois-je modifier chez l'utilisateur Pierre pour retrouver le comportement de l'utilisateur par défaut ?

Je me demande si c'est pas dans les règles de sudoer ? J'ai lu pas mal de tuto mais je comprends toujours pas les différences entre (ALL:ALL), (ALL), ALL etc... Comme c'est un fichier sensible je n'ai pas trop envie de le bidouiller sans être sûr de ce que je fais ^^

Avez-vous des idées / suggestions ?

Merci d'avance !

Donut

Hors ligne

#5 Le 10/12/2012, à 10:44

tiramiseb

Re : [RESOLU] mount d'une clef usb en ligne de commande

DonutMan75 a écrit :
$ sudo mount -t vfat /dev/sda1 /mnt/usb-storage/

>>> Le répertoire usb-storage appartient à l'utilisateur (je peux écrire dedans sans avoir à faire sudo)

Ça me semble très très étrange. Pour moi ça ne devrait pas faire ça, les droits devraient être à root (les valeur par défaut sont l'uid et le gid du processus courant et la page man de sudo dit explicitement : "The real and effective uid and gid are set to match those of the target user").

Pour moi la commande correcte devrait être :

sudo mount -t vfat -o uid=1000,gid=1000 /dev/sda1 /mnt/usb-storage

... en remplaçant 1000 par l'uid et le gid de l'utilisateur voulu.

(Tiens, y'a un truc bizarre d'ailleurs : "sda1" ! Étrange qu'il détecte ta clé en sda... Où est ton disque dur !?)

Dernière modification par tiramiseb (Le 10/12/2012, à 10:47)

Hors ligne

#6 Le 10/12/2012, à 10:54

Braun

Re : [RESOLU] mount d'une clef usb en ligne de commande

Bonjour,
Il me semble que je procéderais autrement:
1/ Je donne tous les droits au répertoire /mnt/usb-storage/
2/ Je rajoute une ligne dans /etc/fstab pour préciser que /dev/sda1 de type vfat  peut être monté sur /mnt/usb-storage/ par n'importe quel utilisateur.
3/ L'utilisateur lambda doit alors pouvoir monter la clef avec

sudo mount /mnt/usb-storage 

Mais si je me souviens bien il est aussi possible de créer une icône qui assure le montage sans les droits de sudoer.
Désolé pour mon imprécision, je n'ai pas les documents ad-hoc sous les yeux.

Hors ligne

#7 Le 10/12/2012, à 11:12

DonutMan75

Re : [RESOLU] mount d'une clef usb en ligne de commande

Bonjour à vous,
merci pour vos réponses !

Alors en effet, la clef se monte en sda sur ma deuxième machine car son disque dur est sur carte SD ^^ Sur ma première machine (où il y a un dd système), la clef USB est effectivement détectée en sdb.

Concernant vos remarques, j'avoue ne pas avoir regardé dans fstab, je vais creuser dans cette direction. C'est là dedans que se trouvent les règles générales concernant les montages (du style "si clef USB alors n'importe quel utilisateur à le droit de la monter en son nom") ?

Je vais creuser ça.

Merci pour vos idées smile

Bonne journée

Donut

Hors ligne

#8 Le 10/12/2012, à 11:17

tiramiseb

Re : [RESOLU] mount d'une clef usb en ligne de commande

Concernant vos remarques, j'avoue ne pas avoir regardé dans fstab, je vais creuser dans cette direction. C'est là dedans que se trouvent les règles générales concernant les montages (du style "si clef USB alors n'importe quel utilisateur à le droit de la monter en son nom") ?

fstab contient les informations sur les systèmes de fichiers à monter. Ce ne sont pas des "règles générales" mais les configurations particulières pour chaque système de fichier que tu peux utiliser ; c'est ce qui permet de taper, par exemple, "mount /data" sans avoir à donner les détails de la configuration : ces détails sont dans ce fichier. Tu peux indiquer l'option "user" pour permettre à un utilisateur de faire mount sans sudo (du coup les droits sur les fichiers sont à cet utilisateur vu que "les valeur par défaut sont l'uid et le gid du processus courant").

Si tu veux identifier cette clé USB précisément dans /etc/fstab, il faut utiliser /dev/disk/by-id/XXX au lieu de /dev/sdX.

Hors ligne

#9 Le 11/12/2012, à 16:58

DonutMan75

Re : [RESOLU] mount d'une clef usb en ligne de commande

Bon en ayant fait quelques tests et en farfouillant du côté des options de mount et fstab je m'en sors.
Il me faut sans doute encore un peu de pratique pour que tout ceci devienne évident et automatique smile

Merci à vous tous pour vos contributions.

Donut

Hors ligne