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 13/03/2007, à 23:55

JFNoubel

Ne pas monter en root son disque externe USB ext3

Bonjour,

Ce post fait suite à une discussion tout à fait similaire marquée [résolu] : http://forum.ubuntu-fr.org/viewtopic.php?id=86882

Le contexte : j'ai acheté un disque dur USB externe (Seagate) que j'ai reformaté en ext3 avec GParted sans problème. Ce disque externe me sert exclusivement pour linux, j'ai besoin de faire des backups dont la taille des fichiers est > à 4Go. Le fat32 d'origine ne permet pas cela.

Seul hic, le disque se monte en root, et n'est donc accessible qu'en root. En tant qu'user normal je n'ai pas accès aux fichiers.

D'après ce que j'ai compris de l'autre discussion, il y a deux philosophies possibles :

1 - celle trouvée par spomky -- changer les droits dans le fstab : c'est donc sur le point de montage qu'on force ces droits, alors que le disque reste intrinsèquement fermé.
2 - celle évoquée par bertrand0 : rendre l'ensemble du disque ext3 accessible, quel que soit le point de montage et quelle que soit la machine sur laquelle il est connecté

C'est l'option 2 qui m'intéresse. Elle n'a été qu'évoquée dans le précédent forum.

Ma question est donc : comment rendre un disque formatté ext3 totalement accessible, quel que soit son point de montage, et quelle que soit la machine sur laquelle on va le brancher ?

Un stat /media/80Go-ext3/ donne :

  File: `/media/80Go-ext3/'
  Size: 4096            Blocks: 8          IO Block: 4096   répertoire
Device: 801h/2049d      Inode: 2           Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2007-03-13 22:33:46.000000000 +0100
Modify: 2007-03-12 00:21:11.000000000 +0100
Change: 2007-03-12 00:21:11.000000000 +0100

Mon fstab:

proc /proc proc defaults 0 0
/dev/hda2 / ext3 nouser,defaults,errors=remount-ro,atime,auto,rw,dev,exec,suid 0 1
/dev/hda1 /media/hda1 vfat defaults,utf8,umask=007,uid=0,gid=46,auto,rw,nouser 0 1
/dev/hda1 /mnt/windows vfat umask=002,iocharset=utf8,codepage=850,uid=1000,gid=1000,auto,rw,user 0 0
/proc/bus/usb/ /proc/bus/usb/ usbfs none 0 0
/dev/cdrom0 /media/cdrom0 auto nouser,noauto,atime,rw,nodev,noexec,nosuid 0 0

Merci d'avance !

Hors ligne

#2 Le 14/03/2007, à 00:15

JFNoubel

Re : Ne pas monter en root son disque externe USB ext3

Mon disque s'appelle '80Go-ext3'

Je viens de tenter un

sudo chmod -R a+rwx /media/80Go-ext3/

et ça m'ouvre effectivement l'accès au disque. Mais est-ce bien la bonne manip ?

Et à peine je recommence à lancer des backups, mon dossier 80Go-ext3/backup repasse en mode 'locked'. J'ai du rater quelque chose.

Oui, vous avez le droit de m'appeler le Grand Bleu.

Hors ligne

#3 Le 14/03/2007, à 06:45

figaro

Re : Ne pas monter en root son disque externe USB ext3

Essayes de créer un répertoire sur ce disque auquel tu donneras les droits que tu veux (au répertoire).


Le blog de figaro (astuces diverses et tutos Samba pour débutants)
Le blog de cep (astuces Linux avancées)
Debian Lenny 6.0.1, Ubuntu 10.04.2, Ubuntu Remix 9.10, Ubuntu Netbook 10.04

Hors ligne

#4 Le 14/03/2007, à 11:10

JFNoubel

Re : Ne pas monter en root son disque externe USB ext3

Bonjour et merci du conseil. J'avais initialement créé un répertoire /backup sur le disque, sans problème. C'est juste après que le disque, et tous ses répertoires sont devenus "read only". Mais depuis que j'ai fait la commande

sudo chmod -R 0777 /media/80Go-ext3/

tout semble fonctionner. Je ne mets pas ce post comme 'résolu' pour autant tant que je ne suis pas certain que c'était la chose à faire. Je ne voudrais pas que d'autres suivent mon exemple si ma manip n'est pas bonne !

Dernière modification par JFNoubel (Le 14/03/2007, à 11:10)

Hors ligne

#5 Le 14/03/2007, à 12:11

figaro

Re : Ne pas monter en root son disque externe USB ext3

Du fait que tu veux que les accès soient fixés quelque soit le PC où tu raccordes je ne pense pas que tu ais d'autres façons de faire. Toutes autres solutions seraient propres au PC à moins de configurer tous tes PC de la même façon mais pour un disque nomade ce n'est pas très cool .  smile


Le blog de figaro (astuces diverses et tutos Samba pour débutants)
Le blog de cep (astuces Linux avancées)
Debian Lenny 6.0.1, Ubuntu 10.04.2, Ubuntu Remix 9.10, Ubuntu Netbook 10.04

Hors ligne

#6 Le 14/03/2007, à 13:23

bertrand0

Re : Ne pas monter en root son disque externe USB ext3

JFNoubel a écrit :

Mais depuis que j'ai fait la commande

sudo chmod -R 0777 /media/80Go-ext3/

tout semble fonctionner. Je ne mets pas ce post comme 'résolu' pour autant tant que je ne suis pas certain que c'était la chose à faire. Je ne voudrais pas que d'autres suivent mon exemple si ma manip n'est pas bonne !

Oui, c'est à cette commande que je pensais dans mon autre post. Cela change récursivement les permissions de tous les fichiers et dossiers existants sur le disque. L'inconvénient de cette méthode est que tout nouveau fichier ou dossier sera créé avec le masque par défaut de l'utilisateur, à savoir 0755.
Pour contrer, ce dernier petit problème, tu peux utiliser les acl (Access Control List). Pour cela, il y a initialement 3 étapes:
1) installer le paquet acl via aptitude ou synaptic (ça n'est nécessaire que pour manipuler les acl, donc ce n'est pas une opération à effectuer sur toutes les machines qui doivent lire le disque):

sudo aptitude install acl

2) démonter le disque s'il s'est monté automatiquement après l'avoir branché, puis activer l'option de montage par défaut acl (ainsi, tout pc capable de lire les acl les utilisera automatiquement pour ce disque, ou les ignorera s'il n'en est pas capable)

pumount /dev/sd??
tune2fs -o +acl /dev/sd??

(remplacer sd?? par le périphérique adéquat)
3) remonter le disque, puis ajouter un acl par défaut sur tous les dossiers existants du disque

pmount /dev/sd?? usbdisk
sudo chmod -R a+rwx /media/usbdisk
sudo setfacl -R --set d:o::rwx /media/usbdisk

Et voilà, tout fichier ou dossier existant ou nouvellement créé du disque est maintenant accessible en lecture/écriture à tout le monde, sur tous les pc reconnaissant les acl. Normalement, toutes les distributions récentes ont des noyaux qui reconnaissent les acl, mais même si ce n'est pas le cas, le comportement du disque est alors le même que sans acl: les nouveaux fichiers sont créés avec le masque par défaut de l'utilisateur (0755 typiquement) au lieu du masque par défaut de l'acl (0777 dans le cas présenté).

Dernière modification par bertrand0 (Le 14/03/2007, à 13:32)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#7 Le 14/03/2007, à 13:43

bertrand0

Re : Ne pas monter en root son disque externe USB ext3

Tant que j'y pense, je te signale que par défaut, un certain nombre de secteurs sont réservés à root (ou à un utilisateur/groupe choisi) sur un disque ext3. Je crois que cela représente 4% du disque par défaut, donc quand même près de 3Go dans ton cas. Si jamais tu venais à être à cours de place sur ton disque, penses-y. Tu peux soit choisir l'uid/gid des secteurs réservés, soit désactiver complètement cette propriété grâce à tune2fs. (lire la doc attentivement "man tune2fs")


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#8 Le 20/03/2007, à 15:05

JFNoubel

Re : Ne pas monter en root son disque externe USB ext3

Bonjour Bertrand,

Merci infiniment pour toutes ces explications et tout le temps que tu as passé à les rédiger. Et toutes mes excuses pour n'être pas revenu plus tôt dans ce post, la gestion du temps est une doctrine du sacrifice.

Je comprends bien tes explications. Néanmoins je reste bloqué car tous mes disques apparaissent dans /media, et chaque fois que je veux y toucher via tes commandes, cela me sort un message me disant d'une façon ou d'une autre que ce n'est pas là que cela se passe. Donc tout se joue apparemment dans /dev, mais là je ne vois pas comment trouver le lien un point de montage /dev et un répertoire /media. J'ai beau faire un clic droit sur mes disques dans /media, cela ne me donne aucune piste sur /dev.

Tu comprendras que je fais encore largement partie des débutants car c'est presque une explication de texte que je te demande. Si c'est simple à expliquer en quelques lignes, alors je suis preneur. Sinon, si tu connais un lien vers la leçon à apprendre...

L'autre question est liée au fait que les commandes que tu m'as indiquées plus haut semblent se rapporter toujours au même disque sur un même point de montage. Mais puisqu'il s'agit d'USB, leur nombre peut varier. Leur point de montage aussi non ? Quid alors des commandes qu'on a faites qui semblent dirigées vers un point de montage fixe plutôt que relatif ?

Merci encore !

PS1 : je suis là les jours qui viennent, donc réactif à ce forum
PS2 : tout à fait d'accord avec ta citation buffonnesque wink

Hors ligne

#9 Le 20/03/2007, à 18:13

bertrand0

Re : Ne pas monter en root son disque externe USB ext3

JFNoubel a écrit :

Je comprends bien tes explications. Néanmoins je reste bloqué car tous mes disques apparaissent dans /media, et chaque fois que je veux y toucher via tes commandes, cela me sort un message me disant d'une façon ou d'une autre que ce n'est pas là que cela se passe. Donc tout se joue apparemment dans /dev, mais là je ne vois pas comment trouver le lien un point de montage /dev et un répertoire /media. J'ai beau faire un clic droit sur mes disques dans /media, cela ne me donne aucune piste sur /dev.

Je prends un exemple concret; j'ai un disque USB, qui a pour label BERTRAND. Je suis sous Ubuntu, avec Gnome, donc. Je suis logué sur ma session gnome et je branche mon disque sur le port USB. Après quelques secondes, le contenu du disque s'affiche : le disque a été monté automatiquement par gnome. A ce point, je ferme cette fenêtre et j'ouvre un terminal. En tapant "mount", j'obtiens des infos sur les disques montés, et notamment la ligne suivante:
/dev/sda1 on /media/BERTRAND type vfat (rw,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8)
Cela signifie que mon disque usb s'est vu assigner le périphérique /dev/sda1, et est actuellement monté sur /media/BERTRAND.
Pour faire l'étape 2 du post précédent, je dois démonter le disque afin de pouvoir utiliser tune2fs, ce qui donne:

pumount /dev/sda1    (Démontage du disque)
tune2fs -o +acl /dev/sda1     (Activation de l'acl par défaut pour ce disque)

Pour l'étape 3, je dois remonter le disque, et je choisis le répertoire de montage /media/USB1; je tape donc:

pmount /dev/sda1 USB1     (Montage du disque /dev/sda1 sur /media/USB1)
sudo chmod -R a+rwx /media/USB1      (Attribution des permissions rwx à tous)
sudo setfacl -R --set d:o::rwx /media/USB1      (Attribution d'un acl par défaut donnant les permissions rwx pour tout répertoire du disque)

A ce stade, le disque est configuré, il n'y a plus qu'à le démonter en tapant "pumount /dev/sda1", puis le débrancher. La prochaine fois qu'il sera branché, il sera monté automatiquement comme d'habitude et il n'y aura rien de spécial à faire, il est configuré une fois pour toute.

JFNoubel a écrit :

Tu comprendras que je fais encore largement partie des débutants car c'est presque une explication de texte que je te demande. Si c'est simple à expliquer en quelques lignes, alors je suis preneur. Sinon, si tu connais un lien vers la leçon à apprendre...

J'ai essayé de détailler un peu plus. Pour avoir les docs de ces différentes commandes, il suffit de taper "yelp man:chmod" ou "yelp man:pmount" etc... certaines ont été traduites en français, il suffit d'installer le paquet manpages-fr.

JFNoubel a écrit :

L'autre question est liée au fait que les commandes que tu m'as indiquées plus haut semblent se rapporter toujours au même disque sur un même point de montage. Mais puisqu'il s'agit d'USB, leur nombre peut varier. Leur point de montage aussi non ? Quid alors des commandes qu'on a faites qui semblent dirigées vers un point de montage fixe plutôt que relatif ?

Lorsqu'un périphérique usb est branché, un nom de périphérique est attribué dynamiquement à ce disque, généralement dans l'ordre /dev/sda, /dev/sdb etc...; cela signifie que le disque est dorénavant désigné par ce nom de périphérique. Lorsque le disque est inséré, gnome monte ce périphérique automatiquement sur un répertoire de /media, généralement sous un nom déterminé à partir du label du disque, ou bien sous le nom usbdisk, usbdisk1, usbdisk2 ... si le disque n'a pas de label. Cela signifie que le contenu du disque désigné par le nom de périphérique est rendu accessible dans l'arborescence sous le répertoire de montage indiqué. La série de commandes que je donnais nécessite seulement de déterminer au préalable le périphérique correct (voir ce que j'ai dit plus haut avec mount) au moment où on décide de la taper. Le répertoire de montage est alors parfaitement arbitraire, il est créé temporairement par pmount, et disparaîtra au démontage, ie. dès qu'on aura tapé la commande avec pumount ...

Voilà, j'espère ne pas être trop confus dans mes explications. roll

Dernière modification par bertrand0 (Le 20/03/2007, à 18:37)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#10 Le 24/03/2007, à 17:12

JFNoubel

Re : Ne pas monter en root son disque externe USB ext3

Bonjour Bertrand0, merci, merci encore ! Je dois malheureusement partir en voyage (c'était imprévu) pour 12 jours, et donc je verrai cela à mon retour. Tout ce que tu m'as indiqué semble répondre à mes questions, il me reste à implémenter. Je te tiens au courant et te donne un feedback. Ce sera très utile pour d'autres visiteurs de ce forum, j'en suis certain !

Hors ligne