Fügen Sie sich zunächst der Gruppe hinzu www-data
usermod -a -G www-data (your username)
Dann:
chgrp www-data /home/myuser/folderA
chmod g+rwxs /home/myuser/folderA
Sollte den Trick machen, es sei denn, die Berechtigungen auf Ihrem /home/myuser
Computer erlauben anderen Benutzern keinen Zugriff.
Der erste Befehl ändert den Gruppeneigentum des Ordners in den des Webservers. Mit dem zweiten Befehl erhalten die Mitglieder der www-data
Gruppe Lese-, Schreib- und Zugriffsrechte für Verzeichnisse. Mit dem Gruppenflag s
wird sichergestellt, dass alle Dateien, die innerhalb dieses Verzeichnisses erstellt werden, www-data
als Gruppe gelten. Wenn Sie also eine Datei erstellen, hat myuser
der www-data
Benutzer Zugriff.
Nb. Dies hängt auch von den umask
Einstellungen Ihres Benutzerkontos und des Webservers ab: Sie müssen sicherstellen, dass in folderA erstellte Dateien Gruppenzugriff haben rw
(und Verzeichnisse, die innerhalb von need group erstellt wurden rwx
).
Wenn Ihr Webserver keine Zugriffsrechte in Ihr /home/myuser
Verzeichnis hat (ziemlich vernünftig), wird er nicht in dieses Verzeichnis gelangen, es sei denn, Sie tun etwas anderes. Zwei Lösungen:
sudo mount --bind /home/myuser/folderA /var/www/mysite/folderA
(Dies ist ein hässlicher Hack und müsste nach dem Neustart wiederholt werden. Aber ein mächtiger Trick, der auch verwendet werden kann, um Ordner in SSH-Jails zugänglich zu machen.)
Verschieben Sie den freigegebenen Ordner einfach an einen anderen Ort, z /home/shared-stuff/folderA
.
Die 2. Option ist am nettesten. Nehmen wir an, das Zeug in Ordner A ist wirklich öffentlich und es ist dir egal, wer es sieht, du kannst es so einrichten
sudo mkdir -m777 /home/shared-stuff
Dann können Sie beispielsweise Ordner A mit den oben genannten Berechtigungen und Ordner B, auf die WWW-Daten keinen Zugriff haben sollen, mit unterschiedlichen Berechtigungen einfügen, z
$ cd /home/shared-stuff ; ls -l
drwxrwsr-x 2 myuser www-data 4096 Jan 17 21:46 folderA
drwxrwx--- 2 myuser myuser 4096 Jan 17 21:46 folderB
s
ing+rwxs
?Eine andere Möglichkeit besteht darin, den Benutzernamen direkt in der Apache-Konfiguration zu ändern. Dies ist der Fall, wenn es sich um Ihren lokalen Computer handelt und Sie Bilder von einem anderen Ort speichern, der die für den Ordner vorgenommenen Berechtigungen zunichte macht. Auch zu tun, wenn Sie nur 1 Benutzer haben und sich nicht für WWW-Daten interessieren!
Finden Sie Benutzer und Gruppe und setzen Sie Ihre
User <Your User>
Group <Your Group>
quelle