Jak mogę zamontować system plików, mapując identyfikatory użytkowników?

16

Mogę z powodzeniem zamontować partycję ext4, problem polega na tym, że wszystkie pliki na partycji są własnością użytkownika z identyfikatorem użytkownika 1000. Na jednym komputerze moim identyfikatorem użytkownika jest 1000, ale na innym 1010. Moja nazwa użytkownika jest taka sama na obu komputerach , ale zdaję sobie sprawę, że system plików przechowuje identyfikatory użytkownika, a nie nazwy użytkownika.

Mógłbym poprawić własność pliku za pomocą czegoś takiego:

find /mnt/example -exec chown -h 1010 {} \;

Ale potem musiałbym ponownie skorygować własność pliku z powrotem do 1000, gdy podłączę ten dysk zewnętrzny na innym komputerze.

Chciałbym dać mountopcję z napisem map userid 1000 do 1010, aby nie musiałem modyfikować żadnych plików. Czy jest na to sposób?

Flimm
źródło
Szukam tego pytania półtora roku później, znalazłem to, chciałem głosować, ale odkryłem, że sam zadałem to pytanie!
Flimm
Nadal możesz uczynić go ulubionym, nawet jeśli nie możesz głosować: -O
Anthon

Odpowiedzi:

18

Spójrz na pakiet bindfs . bindfs to system plików FUSE, który pozwala na różne manipulacje uprawnieniami do plików, własności plików itp. na istniejących systemach plików.

Szukasz konkretnie opcji --map bindfs:

--map=user1/user2:@group1/@group2:..., -o map=...
    Given a mapping user1/user2, all files owned by user1 are shown as owned by user2. When user2 creates files, they are chowned to user1 in the underlying directory. When files are chowned to user2, they are chowned to user1 in the underlying directory. Works similarly for groups.

    A single user or group may appear no more than once on the left and once on the right of a slash in the list of mappings. Currently, the options --force-user, --force-group, --mirror, --create-for-*, --chown-* and --chgrp-* override the corresponding behavior of this option.

    Requires mounting as root. 

Aby zmapować pliki o identyfikatorze użytkownika 1001 /mnt/wrongna /mnt/correcto identyfikatorze użytkownika 1234, uruchom następującą komendę:

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct
Tho85
źródło
Wchodzę fuse: unknown option `--map=1004/1002'na mój serwer LTS Ubuntu 12.04.5. Zastanawiam się, czy moja wersja bindfs lub bezpiecznika jest nieaktualna ...
Zero3
1

Możesz użyć bindfs . Może powiązać system plików z innym punktem montowania z innym identyfikatorem UID / GID. Myślę jednak, że po prostu zmieniłbym identyfikator użytkownika, aby był taki sam w obu systemach.

megahallon
źródło