Dysk USB jest automatycznie montowany przez użytkownika, ale otrzymuje uprawnienia do zapisu tylko dla root

20

Próbuję użyć mojego dysku USB ext4, ale Ubuntu 13 obecnie instaluje go z uprawnieniem do zapisu tylko dla roota, więc z moim normalnym użytkownikiem nie mogę pisać na nim, bez sudo.

Pierwsze miejsce, które sprawdziłem, miało dconf-editornastępujące opcje

  • automount
  • automount-open
  • autorun-never
  • autorun-x-content-ignore
  • autorun-x-content-open-folder
  • autorun-x-content-start-app

i wydaje mi się, że powinna tam być opcja kontrolowania, czy mogę pisać na zamontowanym napędzie USB, ale nie.

Upewniłem się również, że mój użytkownik jest w odpowiednich grupach: fuseiplugdev

Przeszukałem większość Internetu i nie mogę znaleźć rozwiązania, aby zmienić uprawnienia nadane przez operację montowania. Dosłownie nikt nie ma tego problemu niewiarygodnie. Mnóstwo ludzi ma problemy, ponieważ ich dyski montuje się całkowicie tylko do odczytu, ale nie w ten sposób, tylko z uprawnieniami do zapisu root.

Nie widzę żadnego sposobu kontrolowania tego, co się dzieje. Spojrzałem na ustawienie opcji montowania za pomocą, gnome-disksale narysowałem puste miejsce.

Nie ma fstabgo, ale pojawia się na mountliście lub w pliku / etc / mtab:

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

Oto, co pojawia się w syslog, jeśli pomaga:

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
źródło
Spróbuj uruchomić sudo umount /dev/sdb1, a następnie zamontować go jako zwykły użytkownik. mtabWpis ma user=adam, co powinno oznaczać, użytkownik adammoże go używać ...
Wilf
@wilf w rzeczywistości jest to drugi wpis w mtab, który ma user = adam, a nie dysk USB. Nie wiem, co to za fuse gvfsd. Prawdopodobnie nieistotne, ale zastanawiam się, dlaczego ma to jedno wejście, ale nie dysk USB.
Adam
Ups ... Powinien zwracać większą uwagę. Same wpisy są w porządku, więc powinno działać ... Czy montujesz i odmontowujesz dysk graficznie, czy za pomocą wiersza poleceń? - działający gvfs-mount -d /dev/sdb1powinien zamontować dysk, również powinien udisks --mount /dev/sda5. Nie powinny one wymagać hasła roota, ponieważ używają gvfsdwpisu, aby umożliwić dostęp.
Wilf
więc gvfs ma z tym coś wspólnego. obecnie instaluję i odmontowuję dysk graficznie za pomocą nautilus, ale tak naprawdę chcę, aby to zrobiło się automatycznie po dołączeniu, aby proces tworzenia kopii zapasowej mógł korzystać z napędu. przychodzi mi do głowy, że to kolejny problem, nawet jeśli posortuję uprawnienia do zapisu.
Adam
1
@Adam, jaki jest typ systemu plików urządzenia USB? a co robi ls -ld /media/adam/WDPassport2Ti daje ls -l /media/adam/WDPassport2T?
dokładnie

Odpowiedzi:

25

Możliwym powodem może być sformatowanie / utworzenie dysku do przechowywania za pomocą narzędzia z uprawnieniami administratora, a zatem utworzony system plików był własnością administratora .

Rzućmy okiem na p / p twoich lspoleceń:

$ 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

System plików jest własnością roota, jak wskazano przez ls -lddla twojego montowania WDPassport2T, a ciąg uprawnień drwxr-xr-x pokazuje, że root root właściciela ma uprawnienia RW, podczas gdy członkowie root grupy wraz ze światem / innymi będą mieli tylko uprawnienie R.

Aby rozwiązać problem, możesz zmienić uprawnienia za pomocą chmodlub po prostu rekurencyjnie zmienić własność, a oto, co pokazałem poniżej:

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

co w twoim przypadku byłoby:

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

Teraz, jeśli potrzebujesz, możesz także ustawić uprawnienia za pomocą chmod:

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

(co daje właścicielowi, grupie i światu RW uprawnienia do wszystkich plików w celu).

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

(co daje właścicielowi, grupie i światu uprawnienia RWX do wszystkich katalogów w celu).

Odniesienie:

Oficjalna dokumentacja Ubuntu: uprawnienia do plików

precyzyjny
źródło
Fantastyczny. Nie pomyślałem o tym, ponieważ po prostu założyłem, że uprawnienia do plików na / media / adam / WDPassport2T zostały ustawione przez proces montowania, tzn. Nie zdawałem sobie sprawy, że rzeczywisty napęd USB (lub przydzielony mu punkt montowania) uzyska i zachowa uprawnienia. Czy w przypadku podłączenia dysku do innego urządzenia wystąpiłyby podobne problemy z uprawnieniami / prawem własności?
Adam
1
@Adam: „... czy wystąpiłyby problemy z uprawnieniami / własnością, jeśli podłączyłem dysk do innego urządzenia?” cóż, nie jestem pewien, więc opublikowałem to pytanie: Jak przenośne są polecenia chmod i chown? ..Jeśli chcesz mieć uprawnienia RW do plików / katalogów również w innych systemach, możesz zezwolić RW na korzystanie ze świata / innych chmod, zapoznaj się ze zaktualizowaną odpowiedzią ...
dokładnie
Gdybym sformatował dysk USB przy użyciu ext4 gksu gparted, czy to automatycznie uczyniłoby mnie właścicielem tego napędu USB, czy też byłby sformatowany z rootem jako właściciel?
Marc
To nie działa Nadal dostaję operację niedozwoloną, gdy próbuję sprawdzić coś w tym punkcie montowania.
Fr0ntSight
Ale pytanie brzmi: dlaczego dysk jest montowany jako root? Czy istnieje ustawienie, które mogę ustawić, aby w przyszłości napęd był montowany przez mojego użytkownika?
becko
1

Czy próbowałeś sformatować dysk z własnymi uprawnieniami?

Najpierw sprawdź swój identyfikator użytkownika:

sudo id -u red

Powinien dać „1000”

Następnie usuń zaznaczenie dysku w menedżerze plików.

Uważaj, stracisz wszystkie dane przy następnym poleceniu

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

Zamontuj dysk i powinieneś być w stanie pisać pliki i foldery

czerwony
źródło
1

Większość narzędzi do partycjonowania i formatowania (jak Gparted) wymaga uprawnień roota.

Systemy plików, takie jak ext4, ext3 przechowują informacje o własności pliku z samym pendrive. (Ale NTFS, Fat32, Fat16 nie mają takiego zabezpieczenia)

W takim przypadku musisz zmienić uprawnienia za pomocą następującego polecenia w terminalu.

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

ustawiając użytkownika jako „nikt”, a grupę jako „nogroup” rozwiąże podobne problemy z uprawnieniami / własnością po podłączeniu dysku do innego urządzenia.

Aby uzyskać więcej informacji, zobacz stronę podręcznika dla polecenia chown (użyj „ man chown”)

Thadika
źródło
W nobodyporządku. Ale mój identyfikator użytkownika nie jest nikim i uniemożliwia mi pisanie.
K3 --- rnc
0

System plików jest własnością root, jak wskazuje ls -ld dla twojego mounta WDPassport2T, a ciąg uprawnień drwxr-xr-x pokazuje, że root root ma uprawnienia RW, a członkowie root root wraz ze światem / innymi będzie miał tylko uprawnienie R.

linlin zaw
źródło