Wie kann ich ein Dateisystem bereitstellen und Benutzer-IDs zuordnen?

16

Ich kann eine ext4-Partition erfolgreich mounten. Das Problem ist, dass alle Dateien auf der Partition dem Benutzer mit der Benutzer-ID 1000 gehören. Auf einem Computer ist meine Benutzer-ID 1000, auf einem anderen 1010. Mein Benutzername ist auf beiden Computern derselbe , aber mir ist klar, dass das Dateisystem Benutzer-IDs speichert, keine Benutzernamen.

Ich könnte den Dateibesitz folgendermaßen korrigieren:

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

Aber dann müsste ich die Dateieigentümer wieder auf 1000 korrigieren, wenn ich dieses externe Laufwerk auf einem anderen Computer mounte.

Was ich möchte, ist mounteine Option mit der Aufschrift "map userid 1000 to 1010", damit ich keine Dateien ändern muss. Gibt es eine Möglichkeit, dies zu tun?

Flimm
quelle
Ich suche anderthalb Jahre später nach dieser Frage, habe sie gefunden, wollte sie verbessern, nur um herauszufinden, dass ich diese Frage selbst gestellt habe!
Flimm
Sie können es immer noch zu einem Favoriten machen, auch wenn Sie nicht dafür stimmen können: -O
Anthon

Antworten:

18

Schauen Sie sich das bindfs- Paket an. bindfs ist ein FUSE-Dateisystem, das verschiedene Manipulationen von Dateiberechtigungen, Dateibesitz usw. zusätzlich zu vorhandenen Dateisystemen ermöglicht.

Sie suchen speziell nach der Option --map von 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. 

Führen Sie den folgenden Befehl aus , um Ihre Dateien mit der Benutzer-ID 1001 /mnt/wrongder /mnt/correctBenutzer-ID 1234 zuzuordnen :

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct
Tho85
quelle
Ich fuse: unknown option `--map=1004/1002'rufe meinen Ubuntu 12.04.5 LTS-Server auf. Ich frage mich, ob meine Version von bindfs oder Sicherung veraltet ist ...
Zero3
1

Sie können bindfs verwenden . Es kann das Dateisystem an einen anderen Mountpoint mit einer anderen UID / GID binden. Allerdings denke ich, ich würde nur die UID ändern, so dass es auf beiden Systemen gleich ist.

Megahallon
quelle