¿Cómo configuro la propiedad de grupo predeterminada para los archivos en un directorio?

20

Estoy ejecutando una aplicación web cakephp en Linode LAMP. Estoy descubriendo que mis archivos temporales se crean con root: propiedad de root. Pero la aplicación web se ejecuta con los permisos de Apache (www-data). Esto provoca advertencias cada vez que se crea un nuevo archivo porque no se puede escribir para el usuario www-data.

¿Cómo cambio la propiedad predeterminada a www-data en cualquier archivo nuevo creado en la carpeta temporal?

¡Gracias por tu ayuda!


fuente

Respuestas:

23

Para asignar la propiedad del grupo por www-data independientemente del uid / gid del proceso que crea el archivo, debe establecer el bit setgid en el directorio.

    sudo chown :www-data <dir>
    sudo chmod g+s <dir>

Tenga en cuenta que también debe hacer que el directorio sea editable mediante cualquier proceso que cree los archivos. Si se trata de alguien que no sea root, es posible que también deba chmod o+rwxhacer que las cosas funcionen correctamente.

CodeGnome
fuente
¿Qué pasa con los subdirectorios?
mcont
Agregar la bandera -R a chown y chmod hace que ese comando sea recursivo. Por lo tanto, los comandos a continuación asignarán la propiedad del grupo predeterminado a <dir>, así como a todos los subdirectorios de <dir>: sudo chown -R :www-data <dir>ysudo chmod -R g+s <dir>
Josh Wieder