Mounten Sie ein Verzeichnis in ein anderes, während Sie die UID des ursprünglichen Verzeichnisses einer anderen zuordnen

Mounten Sie ein Verzeichnis in ein anderes, während Sie die UID des ursprünglichen Verzeichnisses einer anderen zuordnen

Ich möchte das Verzeichnis /var/www/mysitein das Verzeichnis mounten /home/daniel/mysite, aber auch den Benutzer der gemounteten Dateien vom ursprünglichen Benutzer ( www-data) meinem eigenen Benutzer ( daniel) zuordnen.

Damit wird die Datei, /var/www/mysite/index.phpderen Benutzer ist, www-dataim bereitgestellten Verzeichnis als angezeigt /home/daniel/mysite/index.phpund gehört ihm daniel. Wenn ich alternativ eine Datei /home/daniel/mysite/test.phpmit meinem eigenen Benutzer erstelle, wird sie im ursprünglichen Verzeichnis unter dem Benutzer erstellt.www-data

Ist das möglich? Wenn nicht, welche Alternativen habe ich, damit ich eine IDE verwenden und trotzdem sicherstellen kann, dass alle Dateien dem Benutzer des HTTP-Servers gehören?

Antwort1

Die einfachste Lösung besteht darin, mit ln -s einen symbolischen Link zum Mysite-Ordner auf Ihrem Home-Laufwerk zu erstellen, nachdem Sie sich selbst Schreibzugriff auf alle Elemente im Mysite-Ordner gewährt haben.

Antwort2

Ich habe schließlich NFS verwendet, um mein Problem zu lösen. Ich habedieses Tutorialals Basis und endete mit Folgendem in /etc/exports:

/var/www/mysite localhost(rw,sync,no_subtree_check,all_squash,anonuid=33,anongid=33)

(alles in einer einzigen Zeile, wobei 33 www-datadie UID und GID ist)

und Folgendes in /etc/fstab:

localhost:/var/www/mysite /home/daniel/mysite nfs4 defaults 0 0

Wenn ich das Verzeichnis durchsuche, wird angezeigt, dass jede Datei zu gehört www-data:www-data, aber ich kann Dateien erstellen und bearbeiten, als gehörten sie meinem eigenen Benutzer.

verwandte Informationen