Jak ręcznie zamontować system plików linux do odczytu / zapisu jako zwykły użytkownik?

19

To może wydawać się głupim pytaniem, ale dla większości rzeczy Linuksa wydaje mi się, że wiele trywialnych rzeczy nie jest udokumentowanych.

W każdym razie chcę po prostu zamontować system plików ext4 na normalnym punkcie montowania w Ubuntu (/ media / whereever), jako zapisywalny do odczytu dla bieżącego zalogowanego użytkownika, tj. Dla mnie.

Nie chcę niczego dodawać do / etc / fstab, chcę to zrobić teraz, ręcznie. Potrzebuję uprawnień superużytkownika, aby zamontować urządzenie, ale wtedy tylko root może odczytywać i zapisywać ten mount. Próbowałem różnych opcji montowania, dodałem go do fstab, ale bez powodzenia.

nicodemus13
źródło
Czy istnieje powód, dla którego nie chcesz montować go gdzieś w katalogu domowym?
Robert S Ciaccio

Odpowiedzi:

13

W systemie plików ext4 (takim jak ext2, ext3 i większość innych systemów plików pochodzących z systemu Unix) efektywne uprawnienia do plików nie zależą od tego, kto zamontował system plików lub opcje montowania, tylko od metadanych przechowywanych w systemie plików.

W Ubuntu montowanie powinno się odbywać automatycznie po włożeniu dysku, lub powinieneś być w stanie kliknąć ikonę, aby zamontować. Możesz także zainstalować, pmountaby zamontować systemy plików jako zwykły użytkownik z wiersza poleceń.

Jeśli masz wymienny system plików, który korzysta z różnych identyfikatorów użytkowników z systemu, możesz użyć bindfs(w pakiecie Ubuntu o tej samej nazwie) widoku dowolnego systemu plików o różnych prawach własności lub uprawnieniach. Wymienny system plików musi być już zamontowany, np. Na /media/disk9; następnie, jeśli chcesz pojawić się jako właściciel wszystkich plików, możesz uruchomić

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9
Gilles
źródło
Dzięki! To działało dla mnie z ext3. Zauważ, że musiałem najpierw zamontować system plików ext3 w jakimś katalogu mount, a następnie zamontować ten katalog za pomocą bindfs w końcowym katalogu.
Ilari Kajaste
8

Po zamontowaniu systemu plików ext4 korzysta z uprawnień osadzonych w tym systemie plików. Jeśli chcesz je zastąpić, użyj następujących:
1. Znajdź identyfikator UID użytkownika, który chcesz zamontować jako: id <username>i poszukaj UID = <nazwa_użytkownika> (<nazwa użytkownika>) GID = <grupa_grupy> (<nazwa grupy>) 2 .sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

Spowoduje to zamontowanie systemu plików i oznaczenie określonego użytkownika jako właściciela wszystkich plików oraz określonej grupy jako grupy dla wszystkich plików. nosuidjest środkiem bezpieczeństwa, który uniemożliwia użytkownikowi wprowadzenie programów suid i wykorzystanie ich do uzyskania dostępu do systemu root (tj. suidowej wersji basha w systemie plików). Dodanie noexecopcji zapewni dodatkowe bezpieczeństwo, ale uniemożliwi użytkownikowi wykonywanie plików w systemie plików.

Uwaga: Jeśli próbujesz samodzielnie współdziałać z systemem plików, powinieneś albo naprawić uprawnienia na urządzeniu, albo wejść z nim w interakcję jako root, jeśli jest to tylko tymczasowa rzecz (np. Odzyskanie uszkodzonej instalacji).

Jeśli jest to do zamontowania USB lub innego wymiennego napędu zewnętrznego, powinieneś sprawdzić pmountsystem, który może zautomatyzować ten proces dla ciebie, lub przynajmniej uczynić go znacznie łatwiejszym (tj. pmount <device>Powinieneś utworzyć dla ciebie foldery, zamontować go jako swojego użytkownika, i pozwól na odmontowanie go jako swojego użytkownika)

Darth Android
źródło
1
Jakiś pomysł, czy to powinno działać również z EXT3? Dostaję EXT3-fs: Unrecognized mount option "uid=1000" or missing valuedmesg, gdy próbuję go z ext3.
Ilari Kajaste
@Ilari: Nie będzie działać z ext3 ani z ext4. Większość sterowników Linux dla systemów plików unix nie ma opcji mapowania UID i GID.
Gilles
-1 Nie działa.
Ilari Kajaste
2

Możesz użyć:

mount -o user /dev/devicenamei useropcja w twoim fstab.

Andrey Regentov
źródło
1

Jeśli nie jesteś w nastroju do ręcznego edytowania pliku / etc / fstab, sugeruję wypróbowanie PySDM, aby zdefiniować reguły dotyczące regularnego instalowania systemu plików ext4. Można go zainstalować, instalując pakiet „pysdm” w Synaptic lub przeszukując Centrum oprogramowania Ubuntu w poszukiwaniu „pysdm”. Po zainstalowaniu jest on dostępny w Systemie -> Administracja -> Menedżer urządzeń pamięci masowej ..

PySDM w akcji

Zoot
źródło
1

Właśnie zrozumiałem po przeczytaniu ostatniego komentarza na http://ubuntuforums.org/showthread.php?t=2142284, że wszystko co musisz zrobić, tosudo chown -Rvf <user>:<group> <mountpoint>

To wszystko, co jest wymagane ...

SACHIN GARG
źródło
2
Jest to operacja niszcząca. Jeśli zrobisz to przed montażem, nie będzie to miało znaczenia dla własności pliku na zamontowanym dysku; jeśli zrobisz to po zamontowaniu, nadpisze wszystkie uprawnienia. Jeśli dysk zawiera instalację Linuksa, zmiana uprawnień w ten sposób spowoduje, że nie będzie można go uruchomić po odłączeniu.
Warbo