Clé USB montée automatiquement par l'utilisateur mais obtient des autorisations d'écriture pour root uniquement

20

J'essaie d'utiliser ma clé USB ext4 mais Ubuntu 13 est actuellement en train de le monter avec une autorisation d'écriture uniquement pour root, donc avec mon utilisateur normal, je ne peux pas y écrire, sans sudo.

Le premier endroit que j'ai vérifié était celui dconf-editorqui a les options suivantes

  • montage automatique
  • ouverture automatique
  • autorun-never
  • autorun-x-content-ignore
  • autorun-x-content-open-folder
  • autorun-x-content-start-app

et il me semble qu'il devrait y avoir une option pour contrôler si je peux écrire sur le lecteur USB monté, mais non.

Je me suis également assuré que mon utilisateur faisait partie des groupes concernés: fuseetplugdev

J'ai recherché la plupart d'Internet et je ne trouve pas de solution pour modifier les autorisations accordées par l'opération de montage. Il n'y a littéralement personne là-bas ayant ce problème incroyablement. Une tonne de gens ont des problèmes parce que leurs lecteurs se montent totalement en lecture seule, mais pas de cette façon avec seulement la permission d'écriture root.

Je ne vois aucun moyen de contrôler ce qui se passe. J'ai cherché à définir les options de montage à l'aide gnome-disksmais j'ai dessiné un blanc.

Ce n'est pas dans fstabmais il apparaît dans la mountliste ou / etc / mtab:

/dev/sdb1 /media/adam/WDPassport2T ext4 rw,nosuid,nodev,uhelper=udisks2 0 0

C'est ce qui apparaît dans syslog si cela aide:

kernel: [111522.196770] usb 2-1: USB disconnect, device number 6
kernel: [111525.384020] usb 2-1: new high-speed USB device number 7 using ehci-pci
kernel: [111525.565220] usb 2-1: New USB device found, idVendor=1058, idProduct=0820
kernel: [111525.565225] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
kernel: [111525.565227] usb 2-1: Product: My Passport 0820
kernel: [111525.565229] usb 2-1: Manufacturer: Western Digital
kernel: [111525.565231] usb 2-1: SerialNumber:  575832314141334A34383631
kernel: [111525.565729] usb-storage 2-1:1.0: USB Mass Storage device detected
kernel: [111525.566203] scsi9 : usb-storage 2-1:1.0
mtp-probe: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
mtp-probe: bus: 2, device: 7 was not an MTP device
kernel: [111526.564697] scsi 9:0:0:0: Direct-Access     WD       My Passport 0820 1007 PQ: 0 ANSI: 6
kernel: [111526.565063] scsi 9:0:0:1: Enclosure         WD       SES Device       1007 PQ: 0 ANSI: 6
kernel: [111526.568096] sd 9:0:0:0: Attached scsi generic sg2 type 0
kernel: [111526.568202] ses 9:0:0:1: Attached Enclosure device
kernel: [111526.568263] ses 9:0:0:1: Attached scsi generic sg3 type 13
kernel: [111531.263108] sd 9:0:0:0: [sdb] 3906963456 512-byte logical blocks: (2.00 TB/1.81 TiB)
kernel: [111531.265100] sd 9:0:0:0: [sdb] Write Protect is off
kernel: [111531.265105] sd 9:0:0:0: [sdb] Mode Sense: 47 00 10 08
kernel: [111531.266473] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.266479] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.272224] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.272230] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.284885]  sdb: sdb1
kernel: [111531.288219] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.288223] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.288227] sd 9:0:0:0: [sdb] Attached SCSI disk
kernel: [111531.751588] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
udisksd[3131]: Mounted /dev/sdb1 at /media/adam/WDPassport2T on behalf of uid 1000
Adam
la source
Essayez de l'exécuter sudo umount /dev/sdb1, puis de le monter en tant qu'utilisateur normal. L' mtabentrée a user=adam, ce qui devrait signifier que l'utilisateur adampeut l'utiliser ...
Wilf
@wilf c'est en fait la deuxième entrée mtab qui a user = adam, pas la clé USB. Je ne sais pas ce qu'est ce truc de gvfsd-fuse. Probablement hors de propos, mais je suis perplexe pourquoi une entrée l'a, mais pas le lecteur USB.
Adam
Oups ... devrait faire plus attention. Les entrées elles-mêmes sont correctes, donc cela devrait fonctionner ... Montez-vous et démontez-vous le lecteur graphiquement ou via la ligne de commande? - la course gvfs-mount -d /dev/sdb1devrait monter le lecteur, devrait également udisks --mount /dev/sda5. Ceux-ci ne devraient pas nécessiter le mot de passe root, car ils utilisent l' gvfsdentrée pour autoriser l'accès.
Wilf
donc gvfs a quelque chose à voir avec ça. je monte et démonte actuellement le lecteur graphiquement via nautilus, mais je veux que cela se fasse automatiquement lors de la connexion afin que le processus backupdb puisse utiliser le lecteur. me vient à l'esprit que c'est un autre problème même si je reçois les autorisations d'écriture triées.
Adam
1
@Adam, quel est le type de système de fichiers de votre périphérique USB? et qu'est-ce que ls -ld /media/adam/WDPassport2Tet la ls -l /media/adam/WDPassport2Tsortie?
précis

Réponses:

25

Une raison possible pourrait être que vous avez formaté / créé le disque de stockage avec un outil avec le privilège root et que le système de fichiers créé appartenait à la racine .

Jetons un oeil à l'o / p de vos lscommandes:

$ ls -ld /media/adam/WDPassport2T
drwxr-xr-x 4 root root 4096 Jan 15 16:57 /media/adam/WDPassport2T
$ ls -l /media/adam/WDPassport2T
total 20 
drwxr-xr-x 2 root root 4096 Jan 15 16:57 backuppc 
drwx------ 2 root root 16384 Jan 15 15:37 lost+found

Le système de fichiers appartient à la racine, comme indiqué par ls -ldpour votre montage WDPassport2T et la chaîne d'autorisation drwxr-xr-x indique que la racine du propriétaire dispose des autorisations RW tandis que les membres de la racine du groupe ainsi que le monde / les autres n'auront que l'autorisation R.

Pour résoudre ce problème, vous pouvez modifier les autorisations avec chmodou simplement modifier la propriété de manière récursive, et voici ce que j'ai montré ci-dessous:

sudo chown <username>:<groupname> -R /path/to/target

ce qui dans votre cas serait:

sudo chown adam:adam -R /media/adam/WDPassport2T/

Maintenant, si vous en avez besoin, vous pouvez également définir les autorisations avec chmod:

find /media/adam/WDPassport2T/ -type f -execdir chmod 666 -Rv {} +

(qui donne au propriétaire, au groupe et aux autorisations RW mondiales pour tous les fichiers de la cible.)

find /media/adam/WDPassport2T/ -type d -execdir chmod 777 -Rv {} +

(qui donne au propriétaire, au groupe et aux autorisations RWX mondiales tous les répertoires de la cible.)

Référence:

Documentation officielle d'Ubuntu: autorisations de fichiers

précis
la source
Fantastique. Je n'ai pas pensé à essayer cela parce que je supposais que les autorisations de fichier sur / media / adam / WDPassport2T étaient définies par le processus de montage, c'est-à-dire que je ne savais pas que le lecteur USB réel (ou son point de montage alloué) obtiendrait et conserverait autorisations. Il y aurait donc des problèmes similaires avec les autorisations / la propriété si je branche le disque dans une autre boîte?
Adam
1
@Adam: "... y aurait-il des problèmes d'autorisations / de propriété si je connectais le disque à une autre boîte?" eh bien je ne suis pas sûr donc j'ai posté ce Q: Dans quelle mesure les commandes chmod et chown sont-elles portables? ..si vous voulez avoir des autorisations RW pour les fichiers / répertoires dans d'autres systèmes également, vous pouvez autoriser RW pour le monde / les autres utilisateurs chmod, veuillez vous référer à la réponse mise à jour ...
précis
Si j'ai formaté une clé USB ext4 en utilisant gksu gparted, cela me rendrait-il automatiquement propriétaire de cette clé USB, ou serait-il toujours formaté avec root en tant que propriétaire?
Marc
Ça ne marche pas. J'obtiens toujours une opération non autorisée lorsque j'essaie de montrer quoi que ce soit sur ce point de montage.
Fr0ntSight
Mais la question est de savoir pourquoi le lecteur est monté en tant que root en premier lieu. Y a-t-il un paramètre que je peux définir pour qu'à l'avenir le lecteur soit monté par mon utilisateur à la place?
Becko
1

Avez-vous essayé de reformater le disque avec vos propres autorisations?

Tout d'abord, vérifiez votre ID utilisateur:

sudo id -u red

Il devrait donner "1000"

Ensuite, démontez le lecteur dans le gestionnaire de fichiers.

Attention, vous perdrez toutes vos données avec la prochaine commande

sudo mkfs.ext4 /dev/sdx1 -E root_owner=1000:1000

Montez le lecteur et vous devriez pouvoir écrire des fichiers et des dossiers

rouge
la source
1

La plupart des outils de partitionnement et de formatage (comme Gparted) nécessitent les privilèges root.

Les systèmes de fichiers comme ext4, ext3 stockent les informations sur la propriété des fichiers avec la clé USB elle-même. (Mais le ntfs, fat32, fat16 n'a pas de sécurité comme ça)

Dans ce cas, vous devez modifier l'autorisation en utilisant la commande suivante dans le terminal.

chown -hR nobody:nogroup /media/adam/WDPassport2T/

en définissant l'utilisateur comme "personne" et le groupe comme "nogroupe", il résoudra les problèmes similaires avec les autorisations / la propriété lorsqu'il est branché sur le disque dans une autre boîte.

pour plus d'informations, voir la page de manuel de la commande chown (utilisez " man chown")

Thadika
la source
Ça va nobody. Mais mon identifiant n'est pas personne et cela m'empêche d'écrire.
K3 --- rnc
0

Le système de fichiers appartient à la racine, comme indiqué par ls -ld pour votre montage WDPassport2T et la chaîne d'autorisation drwxr-xr-x indique que la racine propriétaire a les autorisations RW tandis que les membres de la racine du groupe ainsi que le monde / autres n'aura que l'autorisation R.

linlin zaw
la source