web-dev-qa-db-fra.com

Monter un lecteur USB avec des autorisations d'écriture pour tout le monde ou un utilisateur spécifique

Je sais qu'il y a des questions similaires, mais j'ai un problème spécifique que je ne peux pas surmonter.

J'ai:

  • Disque dur divisé en deux partitions. /dev/sdb1 et /dev/sdb2. sdb1 est NTFS et je n'en ai pas besoin. J'ai besoin de sdb2 qui est fat32.
  • Ubuntu 12.04.1 LTS (serveur)

Je voudrais:

En fin de compte, j'ai besoin d'un /dev/sdb2 de type perma-mount sur /home/storage avec un droit d'accès (rw) pour l'utilisateur medianame__.

Problèmes auxquels je suis confronté:

1) Utilisation du montage manuel à partir de la ligne de commande.

Si je viens d'utiliser

server# Sudo mount /dev/sdb2 /home/storage

Il monte mais le /home/storage reçoit la racine en tant que propriétaire et groupe et n'autorise pas l'utilisateur mediaà y écrire.

Si j'utilise la commande mountsans Sudoen tant qu'utilisateur media- je ne suis pas autorisé. Dit que seul root peut utiliser mount.

Si j'utilise mountavec les options: server# Sudo mount /dev/sdb2 /home/storage -o umask=000, je reçois ce dont j'ai besoin. Un peu exagéré bien sûr, car le dossier de stockage devient accessible en écriture pour tout le monde. MAIS - qui est monté manuellement - maintenant, j'en ai besoin pour remonter à chaque redémarrage.

2) Remonter au redémarrage - en utilisant fstabname __

J'ai donc pensé que j'irais bien si j'utilisais fstabpour monter cette partition (/dev/sdb2) à chaque redémarrage. La ligne fstabque j'ai ajoutée:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

vous avez uuid avec blkidname__. Le type de fichier autoj’ai changé quelques fois ... essayé vfataussi, mais toujours lors du redémarrage, Ubuntu s’arrête lors du traitement de fstab (comme je le pense) avec le message (extrait du journal):

fsck from util-linux 2.20.1 /dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks mount: unknown filesystem type 'static' mountall: mount /etc/fstab: [772] terminated with status 32 mountall: Filesystem could not be mounted: /etc/fstab: Skipping /etc/fstab: at user request

Et aussi - Sudo mount -a ne fait jamais rien.

Qu'est-ce que je fais mal? Je soupçonne que j'ai foiré quelque chose :)

PDATE:

Comme cela semble être le cas, fstab ne devrait contenir que des montages pour les lecteurs statiques, pas n'importe quel type de périphérique USB. Je suis perplexe de voir comment cela fonctionne avec toutes les personnes postant sur le net leurs histoires de réussite ...

cependant..si ce n'est pas possible - je voudrais savoir comment remonter mon usb après chaque redémarrage ... sinon avec fstab - que comment? :)

22
GeekSince1982

Votre problème semble concerner les autorisations que vous avez définies. Les lecteurs au format FAT/FAT32 ne prennent pas en charge les autorisations de fichiers. Les autorisations pour tout sont déterminées par le mode de montage du lecteur. Lorsque vous définissez l'autorisation ouverte, cela fonctionnait lorsque vous

server# Sudo mount /dev/sdb2 /home/storage -o umask=000

Quant à cela, pas de montage automatique au redémarrage

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

"Noauto" fait que ce montage N'EST PAS automatiquement effectué lorsque le système démarre et analyse le fichier/etc/fstab. Supprimez cette option et elle sera montée au démarrage. Vous pouvez définir les autorisations sur le point de montage une fois qu'il est monté avec chmod ou les spécifier dans/etc/fstab.

Si vous avez besoin que l'utilisateur du média y accède, vous pouvez définir les autorisations sur 764 et les ajouter au groupe de sécurité. Root a toujours accès à tout.

voir http://www.linux.org/threads/file-permissions-chmod.4094/ pour quelques exemples d'autorisations de fichier propper

Sur une note de côté, bodhi.zazen a fait valoir un bon argument. Existe-t-il une raison pour laquelle vous devez utiliser FAT? Sinon, je sauvegarderais les données et utiliserais un système de fichiers natif Linux. Vous pouvez ensuite définir la propriété et les autorisations.

24
CacheXT

Sauf substitution par les options de montage, GID = ou UID = le propriétaire et les autorisations du point de montage lors du montage deviennent celles de l'arborescence du système de fichiers en cours de montage.

Donc, si/dev/sdb1 contient un système de fichiers ext4 (disons une sauvegarde) appartenant à l’utilisateur, cet utilisateur deviendra le propriétaire du point de montage après un montage réussi.

À partir de là, nous avons un dossier vide 'backup' qui sert de point de montage et qui appartient à root.

# ls -alR /mnt
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 root root 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 root root 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..

maintenant nous montons/dev/sdb1 (en lecture seule)

# mount -o ro /dev/sdb1 /mnt/backup

et permet de voir ...

# ls -alR
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 user user 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 user user 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..
-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

Maintenant, si vous avez un lecteur vide et que vous voulez le monter pour "utilisateur" en tant que prolongement de "l'espace disque de l'utilisateur", montez le lecteur en tant que root, placez la racine du montage sur "utilisateur" et démontez-la.

La prochaine fois que le système de fichiers sera monté (par root ou par n'importe qui, comme indiqué par fstab), le propriétaire du montage sera "utilisateur".

4
user555425

Vous pouvez aussi courir

Sudo chmod 0777 /home/storage

Puisque les lecteurs FAT ne disposent pas d’autorisations, Linux applique l’autorisation du point de montage à l’ensemble du lecteur.

2
Zane Hooper