Veo que mi usuario es miembro del grupo apache. He añadido y confirmado a través de lo siguiente
$ 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
Sin embargo, cuando intento ejecutar un núcleo de actualización drush o incluso cron cronómetro drush
$ drush cc all
unlink(sites/default/files/css/css_71ba7c25a8d3c47c68a8e05608ae525c.css):[warning]
Permission denied file.inc:482
Y el caché CSS en esta situación se ve así
$ 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
Supongo que mi cuenta de usuario, que tiene acceso a sudo, debería ser un miembro del grupo apache (o www-data) y que el árbol de archivos debería permitir el acceso de escritura grupal. Cualquier ayuda o puntos en la dirección correcta sería muy apreciada.
newgrp apache
sin sudo e intenta de nuevoRespuestas:
Podría decirse que un enfoque mucho más directo es no interferir en absoluto con las asignaciones de grupo de su usuario y, en su lugar, ejecutar drush como el usuario del servidor web (es decir: apache, www-data).
Usa sudo:
o en debian / ubuntu:
Crea un alias de comando:
Luego, para asegurarte de que siempre ejecutas drush así, agrega un alias:
o en debian / ubuntu:
Ahora, cuando ejecute cualquier comando drush, sudo le solicitará su contraseña, y el comando se ejecutará como el usuario del servidor web. No más problemas de permisos para leer y escribir archivos.
fuente
Aunque la otra respuesta es informativa, ahora uso el permiso de usuario adecuado como se describe en
Asegurar los permisos y la propiedad del archivo
Que se abre con
fuente
Cuando corrí drush como
www-data
drush ya no estaba disponible ya que mi $ PATH había cambiado .Como solución alternativa, puede ingresar en todo el camino hacia drush.
P.ej
Para obtener el camino de tu drush puedes correr:
Lo que significa que también puedes ejecutar:
lo que elimina la necesidad de codificar la ruta en el comando.
fuente