Ich sehe, dass mein Benutzer Mitglied der Apache-Gruppe ist. Ich habe Folgendes hinzugefügt und bestätigt
$ sudo usermod -a -G apache `whoami` # add my user to apache group
$ sudo chmod -R g+w . # permit group members to write
$ groups `whoami` # confirm I'm in the apache group
Wenn ich jedoch versuche, einen Drush-Update-Core oder sogar Drush-Cron auszuführen
$ drush cc all
unlink(sites/default/files/css/css_71ba7c25a8d3c47c68a8e05608ae525c.css):[warning]
Permission denied file.inc:482
Und der CSS-Cache sieht in dieser Situation so aus
$ ll
total 1536
drwxrwxr-x. 2 apache apache 12288 Nov 26 10:12 .
drwxrwxr-x. 11 apache apache 4096 Nov 24 20:35 ..
-rw-rw-r-- 1 apache apache 162269 Nov 26 10:06 css_00d5f4d7c5c92cd4f.css
-rw-rw-r-- 1 apache apache 158090 Nov 26 10:02 css_0605989692a2119d305.css
-rw-rw-r-- 1 apache apache 162269 Nov 26 10:02 css_0779dcac71ee9aa8e02d9e.css
Ich würde davon ausgehen, dass mein Benutzerkonto, das über Sudo-Zugriff verfügt, ein Gruppenmitglied von Apache (oder WWW-Daten) sein sollte und dass der Dateibaum den Gruppenschreibzugriff ermöglichen sollte. Jede Hilfe oder Hinweise in die richtige Richtung wäre sehr dankbar.
newgrp apache
ohne Sudo und versuchen Sie es erneutAntworten:
Ein viel einfacherer Ansatz besteht wohl darin, sich überhaupt nicht mit den Gruppenzuweisungen Ihres Benutzers zu beschäftigen und stattdessen Drush als Webserver-Benutzer auszuführen (dh: Apache, WWW-Daten).
Verwenden Sie sudo:
oder auf debian / ubuntu:
Erstellen Sie einen Befehlsalias:
Fügen Sie dann einen Alias hinzu, um sicherzustellen, dass Sie immer so drush ausführen:
oder auf debian / ubuntu:
Wenn Sie jetzt einen Drush-Befehl ausführen, werden Sie von sudo zur Eingabe Ihres Kennworts aufgefordert, und der Befehl wird als Webserver-Benutzer ausgeführt. Keine Berechtigungen mehr beim Lesen und Schreiben von Dateien.
quelle
Obwohl die andere Antwort informativ ist, verwende ich jetzt die richtige Benutzerberechtigung, wie in beschrieben
Sichern von Dateiberechtigungen und Eigentumsrechten
Welches beginnt mit
quelle
Als ich drush lief, war drush as
www-data
drush nicht mehr verfügbar, da sich mein $ PATH geändert hatte .Um dieses Problem zu umgehen, können Sie den gesamten Pfad zum Drush eingeben.
Z.B
Um den Weg Ihres Drushs zu finden, können Sie laufen:
Das heißt, Sie können auch einfach laufen:
Dadurch entfällt die Notwendigkeit, den Pfad im Befehl fest zu codieren.
quelle