it-swarm.com.de

Dateisystem mit spezieller Benutzer-ID einbinden

Ich möchte das Gerät /dev/sda3 in das Verzeichnis /foo/bar/baz mounten. Nach dem Mounten sollte das Verzeichnis die UID des Benutzers johndoe haben. So tat ich:

Sudo -u johndoe mkdir /foo/bar/baz
stat -c %U /foo/bar/baz
johndoe

und fügte die folgende Zeile zu meinem /etc/fstab hinzu:

/dev/sda3 /foo/bar/baz ext4 noexec,noatime,auto,owner,nodev,nosuid,user 0 1

Wenn ich jetzt Sudo -u johndoe mount /dev/sda3 tue, führt der Befehl stat -c %U /foo/bar/baz zu root und nicht zu johndoe. Was ist der beste Weg, um dieses ext4-Dateisystem mit uid johndoe zu mounten?

18
qbi

Es ist nicht möglich, einen Eigentümer auf einer Festplatte mit einem ext4-Dateisystem zu erzwingen. Nur Dateisysteme, die keine Linux-Berechtigungen wie "fat" unterstützen, haben ein Attribut für Besitz/Gruppenzugehörigkeit: uid=value und gid=value. Siehe Handbuchseite zum Einhängen .

Sie sollten den Eigentümer des bereitgestellten Dateisystems wie folgt ändern:

Sudo chown johndoe /foo/bar/baz

Wenn Sie die Berechtigungen rekursiv ändern müssen:

Sudo chown -R johndoe /foo/bar/baz

... und wenn die Gruppe auch auf johndoe geändert werden muss:

Sudo chown -R johndoe: /foo/bar/baz
20
Lekensteyn

bindfs ist die Antwort. Es wird ein bereits eingehängtes Dateisystem verwendet und eine Ansicht davon mit der gewünschten UID bereitgestellt:

Sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
Sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
18
Catskul

Angenommen, die für die Dateien festgelegte Gruppe verfügt über die entsprechenden Berechtigungen. Sie müssen nur die Gruppen-ID (Group ID, GID) ermitteln und sich selbst hinzufügen.


Verwenden Sie ls -n, um die Gruppen-ID einer Datei herauszufinden. Beispielausgabe:

drwxr-xr-x 1 1000 1000  550 Jul  9 11:08 Desktop/

Sie möchten das vierte Feld für GID, das in meinem Fall das zweite 1000 ist.

Sudo addgroup --gid GID foobar; Sudo usermod `whoami` -aG foobar

Sobald Sie das ausführen, sollten Sie die Dateiattribute für die Gruppe zulassen.

Führen Sie, wie in der anderen Antwort zu den Benutzerberechtigungen angegeben, eins aus, wenn Sie die Gruppe für einige Dateien reparieren müssen:

Sudo chown -R :foobar ./
Sudo chgrp -R  foobar ./
6
Chinoto