Ich benötige Dateien, die von apache2 erstellt wurden, umask 002
, dh group rw, standardmäßig zu haben.
Ich habe versucht, umask 002
/ etc / apache2 / envvars einzufügen, und obwohl dieses Skript als Teil von apache start up ( apache2ctl graceful
) ausgeführt wird, hat die umask keine Wirkung. Vermutlich irgendwo weiter im Startprozess (z. B. wenn der Benutzer von root
auf herabgestuft wird www-data
) gibt es einen besseren Ort, um dies zu formulieren.
Ich habe Beiträge über Fedora gelesen und einen, der vorschlägt, umask einzubauen, /etc/init.d/apache2
aber keines davon trifft auf Debian (Squeeze) zu.
Kannst du helfen?
apache-2.2
umask
Kunstvollroboter
quelle
quelle
drush cc all
als Benutzer ausgeführt werden kann, da bei all diesen mit WWW-Daten erstellten Cache-Dateien Fehler auftreten.Antworten:
Um sicherzustellen, dass die umask-Einstellung wirksam wird, verwenden Sie bitte einen einfachen Test und keine andere Webanwendung. Es kann vorkommen, dass diese Anwendungen die Rechte unabhängig von der umask-Einstellung von Apache ändern.
Einfaches Test-PHP-Skript:
Stellen Sie sicher, dass der Benutzer www-data Schreibzugriff auf den Ordner hat, in dem Sie diese einfache Testdatei installiert haben.
Um die neue umask laufen zu lassen, prüfen Sie, ob die Datei / etc / apache2 / envvars in Ihrer Apache-Startdatei /etc/init.d/apache2 verwendet wird:
Setze deine umask in / etc / apache2 / envvars:
Starten Sie Ihren Apache neu:
Überprüfen Sie den Unterschied:
quelle
Wenn Sie mehrere Sites ausführen, können Sie die Standardgruppenberechtigung mithilfe von Zugriffssteuerungslisten (Access Control Lists, ACL) pro Verzeichnis wie folgt festlegen:
Setzen Sie das
setid
Flag, um zu erzwingen, dass alle neuen Dateien die Gruppe aus dem Verzeichnis übernehmen:Erstellen Sie neue Dateien
rw
für die Gruppenberechtigungen, z. Damitwww-data
kann in Dateien geschrieben werden, die vom Upload-Benutzer SFTPed wurden:Bestätigen Sie, dass die ACL folgendermaßen lautet:
Erstellen Sie eine Datei, um zu bestätigen, dass sie funktioniert hat:
quelle
setfacl --default --modify group:rwx wordpress
fehlt ein Doppelpunkt. Es sollte seinsetfacl --default --modify group::rwx wordpress
(Für Debian Stretch, das systemd verwendet - Danke, womble!)
UMask=0002
Fügen Sie die Apache2-Datei systemd service unit ein, laden Sie die Service Unit neu und starten Sie Apache2 neu.quelle