Montowanie systemu plików ext3 z uprawnieniami użytkownika

12

Próbuję zamontować system plików ext3 z innej instalacji Linuksa, aby użytkownik, nie root, miał pełny dostęp do wszystkich plików. (Naprawdę potrzebuję, aby użytkownik miał dostęp do tych plików, ponieważ chciałbym ich używać z innego komputera za pośrednictwem sshfs, a sshfs daje tylko prawa dostępu użytkownika do plików).

Jeśli uruchomię, mount /dev/sda1 /mnt/whateverwszystkie pliki są dostępne tylko przez root.

Próbowałem również, mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whateverzgodnie z instrukcjami SuperUser, omawiając ext4, ale to nie powiedzie się z błędem i dmesgzgłasza:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

Jak mogę zamontować system plików?

Ilari Kajaste
źródło
1
Powiedziałbym, że odpowiedź Gillesa na pytanie SuperUser, o którym wspomniałeś, jest poprawna. Rzeczywiście, to man page mount (8) nie zawiera listy uid=...i gid=...opcji dla żadnego z systemów plików ext2 / 3/4.
Riccardo Murri,
@Riccardo Dzięki, to było właściwe rozwiązanie! Najpierw regularnie podłączaj ext do jakiegoś katalogu, a następnie podłącz bindfs -u $(id -u) -g $(id -g)go do końcowego miejsca docelowego. Napisz może jako odpowiedź?
Ilari Kajaste
1
Ponieważ odpowiedź należy do Gillesa, a on jest również bardzo aktywny na tym forum, zostawię to mu, aby ponownie opublikować to tutaj i odebrać zasłużony kredyt.
Riccardo Murri

Odpowiedzi:

19

W systemie plików ext4 (jak ext2, ext3 i większość innych systemów plików pochodzących z Uniksa) 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.

Jeśli masz wymienny system plików, który używa różnych identyfikatorów użytkowników niż twój system, możesz użyć, bindfsaby zapewnić widok dowolnego systemu plików o różnych prawach własności lub uprawnieniach. Wymienny system plików musi być już zamontowany, np. Na /mnt/sda1; jeśli chcesz, aby określony użytkownik pojawił się jako właściciel wszystkich plików, możesz uruchomić coś takiego

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1
Gilles „SO- przestań być zły”
źródło
1
Dziękuję również ode mnie! Z drobnymi poprawkami działa to również na urządzeniach takich jak np. Podłączane na gorąco dyski DVD-ROM SATA (z którym miałem problemy). JEDNAK urządzenie zawsze będzie montowane 000z jakiegoś powodu (d ---------), więc musisz określić -p 700w bindfswierszu, aby na przykład uzyskać dostęp do plików na DVD za pośrednictwem dolphin/ nautilusitp.
składniaerror
Byłoby miło, gdyby bindfsmógł zaakceptować słowniki do tłumaczenia dowolnego zestawu identyfikatorów UID i GID ...
Alexey,