Jak zmienić domyślne uprawnienia dla automatycznie podłączonego nośnika USB?

9

tl; dr:

Jak skonfigurować gnome do automatycznego podłączania urządzeń USB z uprawnieniami, aby każdy w grupie mógł uzyskać do nich dostęp zamiast jednego użytkownika zalogowanego w momencie podłączania pamięci USB?

(Tutaj grupa jest nazywana confusi użytkownicy, naruri confusoboje są w tej grupie. Tylko narurzalogowany, w momencie podłączenia USB, więc narurdostęp do urządzenia USB może uzyskać tylko - nawet po sudo chmod g+rw. Jak to zmienić?)


Detale:

Uruchomić serwer multimediów w moim domu. Jest podłączony do projektora jako tylko monitor. Od czasu do czasu lubię podłączać dysk USB, aby kopiować rzeczy z serwera na ten dysk. Napęd zostaje automatycznie zamontowany przez zwykłych shenaniganów gnome . Oczywiście nie chcę włączać projektora (poświęć chwilę i nie jest dobra lampa). Loguję się więc na serwerze przez ssh i robię kopię na terminalu z innego komputera.

Problem w tym, że napęd USB jest montowany przez innego użytkownika niż użytkownik zalogowany przez ssh. Mój użytkownik ssh nie ma uprawnień do otwierania punktu montowania wybranego przez gnome, chociaż należy on do tej samej grupy. Aby uzyskać wyjaśnienie, zobacz tę sesję terminalową:

confus@conserve:/media$ id
uid=1000(confus) gid=1000(confus) groups=4(adm),8(mail),20(dialout),24(cdrom),46(plugdev),113(lpadmin),114(sambashare),122(admin),126(debian-transmission),135(debian-tor),1000(confus)

confus@conserve:/media$ ll
total 28
lrwxrwxrwx  1 root   root      6 Mar  8  2009 cdrom -> cdrom0
drwx------  1 narur  confus 4096 Oct  8 16:53 contemplate     # <-- USB drive
drwxr-xr-x  2 root   root   4096 May  3  2010 iso
drwxr-xr-x  2 confus confus 4096 Dec  8  2009 usb1

confus@conserve:/media$ sudo chmod -R ug+rwX 4009-D44F/       # <-- Doesn't do anything
[sudo] password for confus: 

confus@conserve:/media$ ll
total 28
lrwxrwxrwx  1 root   root      6 Mar  8  2009 cdrom -> cdrom0
drwx------  1 narur  confus 4096 Oct  8 16:53 contemplate    # <-- No change after chmod
drwxr-xr-x  2 root   root   4096 May  3  2010 iso
drwxr-xr-x  2 confus confus 4096 Dec  8  2009 usb1

Moim użytkownikiem ssh jest „ confus”, gdy dysk jest zamontowany dla użytkownika „ narur”. Oczywiście prosty chmodnie robi, ponieważ jest punktem montowania. Problem istnieje dla każdego urządzenia pamięci USB.

Wiem, że mógłbym napisać regułę udev i wiem, że istnieją rozwiązania oparte na urządzeniach. Ale powinno być łatwiejsze rozwiązanie tego problemu, natywne dla gvfs.

Aktualizacja:

Od 2009 roku nic się nie zmieniło. To zawstydzające. Przynajmniej ten problem powinien być łatwy do obejrzenia.

dezorientować
źródło
To nie jest pełna odpowiedź, ale szukasz autofs. Tutaj jest porządna instrukcja / opis : wiki.debian.org/AutoFs . To, czego szukasz, to opcja montażu GID.
RobotHumans
Jeśli się nie mylę, to też jest rozwiązanie na urządzenie, prawda? Każde urządzenie należy skonfigurować. Chcę, aby moje rozwiązanie dotyczyło wszystkich automatycznie montowanych dysków, ponieważ różni właściciele mogą chcieć kopiować pliki na swoich dyskach.
con-f-use
Zwykle byłoby to według urządzenia. Możesz użyć rozmytych reguł udev do uruchamiania skryptów montowania, jeśli chcesz, aby były ogólne.
RobotHumans
Zatem nie ma potrzeby autofs ... ;-) Nadal wolałbym rozwiązanie właściwe dla gvfs lub gnome. Wydaje się, że jest dużo raportów o błędach, ale nic się nie zmienia od 2009 roku
con-f-use
1
Jest to ograniczenie związane z udisks v1, dla każdego, kto tu przyjdzie, dodano nowy udisks2 (Ubuntu 13.04 lub nowszy) ID_FS_USAGEi UDISKS_FILESYSTEM_SHAREDto powinno rozwiązać problem montowania wspólnych woluminów. Odniesienie: askubuntu.com/a/276670/26246
user.dz

Odpowiedzi:

3

Chyba twój dysk USB jest sformatowany VFAT/FAT32. Ten format pliku nie obsługuje uprawnień do wykonywania, dlatego chmod +xzawodzi.

[Edytuj] Ok, miałem trochę zabawy i wyszukiwania w sieci. Wiele „rozwiązań” sugeruje, że powinieneś się zmienić /etc/fstab. Wydaje mi się to po prostu niezręczne, co robisz? zmieniać za fstabkażdym razem, gdy napotykasz nowy dysk flash USB?

Moje rozwiązanie:

$ sudo vi /etc/udev/rules.d/90-usb-disks.rules

Dodaj linie:

# UDEV Rules to change the permission of USB disks

#

KERNEL=="sd*[0-9]", ATTR{removable}=="1", ENV{ID_BUS}=="usb", MODE="0022"

$ sudo /etc/init.d/udev restart

Następnie spróbuj włożyć dysk USB. Prawdopodobnie istnieje atrybut, który możesz sprawdzić, aby upewnić się, że jest to dysk sformatowany w systemie FAT, jeśli chcesz być bardziej szczegółowy.

Sarthak Goel
źródło