Comment définir les autorisations par défaut pour les lecteurs FAT montés automatiquement dans Ubuntu 9.10?

17

J'ai de nombreux disques FAT32 que j'aimerais monter dans Ubuntu de telle sorte qu'ils aient le mode d'autorisation 700 pour les répertoires et 600 pour tous les autres fichiers. Par défaut, ils ont 755 pour tous les fichiers, ce qui n'est pas particulièrement utile car presque aucun non-répertoire ne devrait être exécutable, et il fout le contrôle de version repos hébergé sur les lecteurs.

"Retour dans la journée" J'aurais eu les lecteurs répertoriés dans / etc / fstab avec le umask / dmask que je veux et il n'y avait rien de tel qu'un défaut. De nos jours, les lecteurs montent automatiquement sous leurs noms de volume. Ce qui est génial, sauf que maintenant je ne sais pas comment définir la valeur par défaut.

J'ai essayé de changer la clé gconf / system / storage / default_options / vfat / mount_options sans effet apparent. C'était 077 initialement mais le lecteur monté reflétait un défaut de 022; en le modifiant et en réinsérant les lecteurs, les fichiers ont toujours des bits d'autorisation de 755.


la source
hein. pensiez que votre nom d'utilisateur vous semblait familier. J'utilise du mutagène depuis des années. bienvenue à Super User. :)
quack quixote
aussi, quelle version d'ubuntu utilisez-vous? je suppose que Karmic, mais vous pourriez parler du Lucid RC, ou même quelque chose plus tôt.
Quack Quichote
Clarifié dans le titre. J'espérais que cela n'aurait pas d'importance, car j'ai des installations plus anciennes, et quelque chose comme le montage ne devrait pas changer tous les six mois.
malheureusement, la substance HAL a subi pas mal de changements dans les versions récentes. 9.04 et les versions précédentes sont probablement les mêmes; certaines solutions pourraient s'appliquer à tous; mais 9.10 utilise DeviceKit et HAL est déconseillé. je ne fais confiance à aucun des trucs DBus / HAL / DeviceKit pour rester stable en ce moment.
Quack Quichote
1
commentaire de pagin : Je pense que le problème est beaucoup plus fondamental: je veux modifier le umask pour le montage automatique quel que soit le périphérique qui se connecte à l'ordinateur. C'est-à-dire si un de mes amis passe avec sa clé USB et que je veux juste copier un fichier de celui-ci, je veux qu'ils soient automatiquement transférés en tant que chmod 750, pas 000 ou 777, 770 ou autre. Il devrait vraiment y avoir une option quelque part pour configurer cela ...
Quack Quichote

Réponses:

7

Mise à jour
il n'y a malheureusement pas intégré dans les moyens de le faire. La "bonne façon", la manière prise en charge , consiste à définir une ligne / etc / fstab avec les options de montage par défaut que vous souhaitez. Cela signifie que vos valeurs par défaut doivent être définies par périphérique, bien que vous puissiez utiliser l'étiquette de partition ou l'UUID pour éviter d'exiger un chemin de périphérique spécifique. En particulier, cette méthode semble avoir lieu avant l'autorisation du bureau PolicyKit.

Les forums Ubuntu, Launchpad et bugzilla de Gnome contiennent de nombreux articles d'utilisateurs à la recherche des mêmes fonctionnalités que vous recherchez, à la fois sur NTFS et FAT32. Ubuntu 9.10 et 10.04 fournissent le montage automatique par défaut via une combinaison de DeviceKit-Disks, GVFS et Nautilus.

DeviceKit-disks fournit une interface FilesystemMount dont l' argument options semble être le bon moyen de configurer vos options de montage. Mais GVFS / Nautilus ne semble pas fournir de moyen, via l'interface utilisateur ou un fichier de configuration, pour spécifier cette option lors du montage automatique d'une clé USB.

Il existe quelques solutions:

  • Ce bogue Launchpad contient un correctif fourni par l' utilisateur qui modifie les valeurs par défaut de DeviceKit-Disks dans un package devicekit-disks personnalisé .

    Sur le plan positif, cela peut être le moyen le plus simple de définir vos paramètres par défaut préférés pour tous les appareils. L'inconvénient est que vous aurez besoin de repatch à nouveau lorsque le package est mis à jour.

  • Un article sur les forums Ubuntu propose un script de contournement spécifique à l'appareil :

    #!/bin/bash
    devkit-disks --unmount /dev/disk/by-uuid/0D3594370C618A2A
    devkit-disks --mount-options "dmask=000" --mount /dev/disk/by-uuid/0D3594370C618A2A
    

    Ceci est également sous-optimal, car vous devez le garder à jour avec des appareils spécifiques. Mais cela évite le problème d'autorisation que peut avoir la solution fstab prise en charge .

Quack Quichotte
la source
commentaire de Rndmerle : En remarque, sur Ubuntu Lucid (10.4) la commande devkit-disks a été remplacée par / usr / bin / udisks
quack quixote
Cette solution de contournement avec udisks --unmount etc., ne fonctionne que pour umask et dmask. Les autres options ne sont pas autorisées comme vous pouvez le deviner à partir du patch que vous avez lié.
user39559
1

Voici ma ligne fstab pour obtenir ma clé USB à monter avec des autorisations appropriées pour une clé ssh privée (fmask = 177). Les essais et les erreurs m'ont informé que je devais ajouter l'option «utilisateur» pour que le montage automatique fonctionne.

/dev/disk/by-uuid/C2F8-E4F2  /media/TIM_ABELL  vfat  rw,user,nosuid,nodev,dmask=0077,flush,fmask=177

J'ai également dû créer le point de montage qui était auparavant automatique:

mkdir /media/TIM_ABELL

le disque uuid peut être trouvé en branchant le disque et en exécutant

mount
ls -l /dev/disk/by-uuid/

qui vous permettra d'obtenir le point de montage -> périphérique -> mappage uuid

Tim Abell
la source
1
au lieu d'utiliser les chemins d'accès complets / dev / disk / by-uuid / FOO ou / dev / disk / by-label / FOO, vous pouvez utiliser la syntaxe de raccourci UUID=FOOou LABEL=FOO.
quack quixote
0

Avez-vous vraiment, vraiment essayé l'ancienne méthode / etc / fstab? Ça marche pour moi. Ubuntu utilise fstab, quel que soit le monteur automatique HAL.

Ivan Petrushev
la source
2
Que dois-je mettre dans / etc / fstab pour faire monter tous les disques FAT comme ça? Mon point n'est pas que "je pourrais faire cela avec fstab" (je ne peux pas), c'est "ce n'est pas arrivé sous le modèle fstab parce qu'il n'a rien monté à moins que je ne le lui dise".
0

J'ai fait quelques scripts bash et suis sorti avec cette version améliorée du script de contournement qui est publiée ci-dessus:

#!/bin/bash
dev_path="/dev/disk/by-id"
usb_drives=$(find $dev_path -name "usb*")
mount_options="utf8=0,codepage=850,iocharset=iso8859-1"

for dev in $usb_drives ; do
  if ( devkit-disks --show-info $dev | \
       grep "is mounted:" | grep -q 1 ) ; then
    devkit-disks --unmount $dev
    devkit-disks --mount $dev \
      --mount-options $mount_options
  fi
done

Il trouve tous les appareils connectés par USB (espérons-le tous les clés USB) qui sont déjà montés et les remonte en utilisant mount_options (dans mon cas, laissez-les utiliser le jeu de caractères iso-8859-1 pour la compatibilité avec d'autres systèmes d'exploitation limités)

Guido I
la source
3
Que se passe-t-il si vous branchez un port ext4 USB? Appliquera-t-il des masques et d'autres options que vous souhaitez uniquement (et qui n'ont de sens) que pour FAT?
user39559