Stellen Sie sich folgendes Szenario vor: Auf einem Linux-Webserver befinden sich unter
/var/www/unserSeite statische Webseiten, die www-data:www-data gehören. Paul und Lena haben SSH-Zugang zu diesem Server, und beide müssen Dateien in /var/www/unserSeite ändern/erstellen. Wir wollen nicht mit Gruppen oder umasks herumspielen, und wir wollen, dass diese Dateien – die bereits Vorhandenen sowie alle von Paul und Lena erstellten – www-data:www-data gehören.

Gibt es zu diesem Problem eine einfache Lösung?

bindfs is a FUSE filesystem for mounting a directory to another location, similarly to mount --bind. The permissions inside the mountpoint can be altered using various rules.

https://bindfs.org/

Die Antwort ist also ja und wir beginnen gleich mit der Installation von bindfs:

apt install bindfs

Für das genannte Szenario legen wir noch die Verzeichnisse für Paul und Lena an.

mkdir /home/lena/webseite
mkdir /home/paul/webseite

Jetzt hängen wir das ganze noch in der /etc/fstab entsprechend ein

/var/www/unsereSeite  /home/lena/webseite  fuse.bindfs  create-for-user=www-data,create-for-group=www-data,force-user=lena,force-group=lena  0 0

/var/www/unsereSeite  /home/paul/webseite  fuse.bindfs  create-for-user=www-data,create-for-group=www-data,force-user=paul,force-group=paul  0 0

Mit dem Befehl

mount -a

wird die Datei /etc/fstab neu gelesen und die Einträge entsprechend eingehängt.

Wenn jetzt Lena ihr Verzeichnis webseite auflistet haben dort alle Dateien ihre Rechte lena:lena. Sie hat also die volle Kontrolle über diese Dateien. Das selbe trifft natürlich auch auf Paul zu. Listet man die Dateien im Verzeichnis /var/www/unsereSeite zum Beispiel als Root, dann sieht man, dass die Dateien korrekterweise www-data:www-data zugeordnet sind.

Teilen sich Familienmitglieder einen Laptop auf dem jeder seinen eigenen Accounts hat, so ist bindfs auch sehr hilfreich, um einen gemeinsamen Ordner zum Dateiaustausch zur Verfügung zu stellen.

https://www.entropie.is/en/blog/bindfs

Bild von Ag Ku auf Pixabay


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert