Я вижу, что мой пользователь является членом группы Apache. Я добавил и подтвердил с помощью следующего
$ 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
Тем не менее, когда я пытаюсь запустить ядро обновления Drush или даже Cron Drush
$ drush cc all
unlink(sites/default/files/css/css_71ba7c25a8d3c47c68a8e05608ae525c.css):[warning]
Permission denied file.inc:482
И кеш CSS в этой ситуации выглядит так
$ 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
Я бы предположил, что моя учетная запись пользователя, которая имеет доступ sudo, должна быть членом группы apache (или www-data), и что файловое дерево должно разрешать доступ для записи группы. Любая помощь или очки в правильном направлении будет высоко ценится.
newgrp apache
без судо и попробуй еще разОтветы:
Возможно, гораздо более простой подход заключается в том, чтобы вообще не копаться в назначениях групп вашего пользователя, а вместо этого запускать drush от имени пользователя веб-сервера (то есть: apache, www-data).
Используйте sudo:
или на Debian / Ubuntu:
Создайте псевдоним команды:
Затем, чтобы убедиться, что вы всегда запускаете drush, добавьте псевдоним:
или на Debian / Ubuntu:
Теперь при запуске любой команды drush вам будет предложено ввести пароль от sudo, и команда запустится от имени пользователя веб-сервера. Больше нет проблем с правами чтения и записи файлов.
источник
Хотя другой ответ является информативным, я теперь использую соответствующее разрешение пользователя, как описано в
Защита прав доступа к файлам и владения
Который открывается с
источник
Когда я запускал drush, поскольку
www-data
drush больше не был доступен, так как мой $ PATH изменился .В качестве обходного пути вы можете ввести весь путь к вождению.
Например
Чтобы получить путь к вашей игре, вы можете запустить:
Это означает, что вы также можете просто запустить:
что устраняет необходимость жесткого кода пути в команде.
источник