Zmodyfikuj wpis fstab, aby wszyscy użytkownicy mogli czytać i zapisywać w woluminie EXT4

44

Mam pudełko Ubuntu 10.04 z partycją EXT4. Ta partycja jest skonfigurowana do automatycznego montowania /etc/fstab. Dla celów niniejszego postu, będziemy nazywać: /media/foo.

Niestety, rootmożna tylko tworzyć / usuwać pliki / katalogi w głównym systemie plików foo. Aby inni użytkownicy mogli wykonać plik / io na tym woluminie, rootmusi utworzyć katalog i chmoduprawnienia dla innych.

Chciałbym zamontować wolumin taki, że ktoś będzie w stanie odczytu / zapisu do objętości bez konieczności rootdo chmod.

Poniżej mój fstabwpis:

/dev/sda8    /media/foo    ext4    rw,user,exec 0 0

Wpis pierwotnie miał defaultszamiast rw,user,exec. Dodałem dodatkowe wpisy, a mianowicie, rwaby każdy użytkownik mógł czytać / pisać.

Niestety fstabwpis nie działa. Montuje się dobrze, ale nadal wymaga rootinterwencji.

I na wszelki wypadek ktoś prosi: po prostu uruchomić: chmod -R 777 *na /media/footak, rootjak nie działa.

Phanto
źródło

Odpowiedzi:

45

Opcja montowania userpozwala na podłączenie systemu plików przez dowolnego użytkownika. Ta rwopcja powoduje, że system plików nie jest tylko do odczytu. Będziesz musiał użyć uprawnień, aby katalog macierzysty był zapisywalny.

chmod 777 /media/foo

chmodKomenda pokazać wpływ tylko istniejące pliki wewnątrz /media/foo .

Dennis Williamson
źródło
2
Jakie jest najlepsze miejsce w Ubuntu, aby dodać to polecenie podczas uruchamiania?
Ivan Balashov
@IvanBalashov: Możesz użyć @rebootwpisu /etc/crontabpośród innych możliwości.
Dennis Williamson
3
@DennisWilliamson Thanks. Włożyłem to, /etc/rc.localjeśli robi to jakąkolwiek różnicę. To, co ogólnie mnie w tym wkurza, to fakt, że naprawdę należy go skonfigurować fstab. Jeśli nie, punkt montowania może się zmienić, a skrypty również muszą się zmienić, utrzymanie piekła.
Ivan Balashov
Wow, muszę zacząć zgadywać te rzeczy: D bardzo dziękuję.
erm3nda
1
Zgadzam się z chmod, ale dodaj: chmod + t / media / foo, aby umożliwić użytkownikom tworzenie własnego podkatalogu
1251840
25

Myślę, że łatwiej byłoby zmienić wpis fstab na:

/dev/sda8    /media/foo    ext4    rw,user,exec,umask=000 0 0

umask=000oznacza, że ​​każdy może czytać, pisać lub uruchamiać dowolny plik lub katalog w foo. Zwykle jest to 022, co oznacza, że ​​użytkownicy nie mogą pisać.

ktoś
źródło
32
umask jest tylko opcją dla partycji NTFS / VFAT. mount nie polubi umask na systemie plików ext.
Daniel
8

Miałem ten sam problem na openSUSE, ale myślę, że rozwiązanie może mieć zastosowanie również w tym przypadku. Wszyscy użytkownicy, którym chcę udostępnić zamontowany system plików, należą do tej samej grupy podstawowej: users

Mam następujący wiersz w moim fstab:

/dev/<partition> <mount_point>          ext4       rw,acl       0 0

i uruchomiłem następujące polecenia:

sudo chgrp -R users <mount_point>
sudo setfacl -d -m g::rwx <mount_point>

aby nowo utworzone pliki lub katalogi uzyskały te uprawnienia. Oznacza to, że masz zainstalowany pakiet acl.

Dario
źródło
Jeśli jest to zaszyfrowany katalog, powiedz, czy /homezostanie on zamontowany w /etc/crypttab?
George Udosen
2

Po pierwsze, chcesz się upewnić, że sam katalog / media / foo jest zapisywalny. Jeśli jeszcze nie jest, uruchom następujące polecenie:

chmod +w /media/foo

Pamiętaj, że gwiazda dotyczy tylko widocznej zawartości katalogu, a nie samego katalogu ani żadnych niewidocznych plików.

hotei
źródło
1

Próbować,

sudo setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>
użytkownik247046
źródło
0

Kilka lat temu ustawiłem grupę punktu montowania na grupę plugdev, dodałem użytkownika do tej grupy. W ten sposób, tworząc nowe grupy, można udzielać uprawnień dla poszczególnych użytkowników. Do użytku domowego wystarczy ustawić uprawnienia punktu montowania dla innych: odczyt / zapis / wykonanie, jak napisano powyżej.

Zrobiłem to z „sudo nautilus &” w terminalu i prawym przyciskiem myszy -> właściwości -> prawa, ale każdy inny menedżer plików działający jako root byłby w porządku.

Doom3d
źródło