
Tengo un script que a veces se ejecuta a través de la web y otras a través de la línea de comandos. Cuando el script se ejecuta a través de la web, se ejecuta a través del usuario www-data
. Cuando se ejecuta a través de la línea de comando, se ejecuta a través del usuario jason
.
Este script escribe en un directorio llamado cache
.
- Si lo hago
chown -R jason cache
, puedo ejecutar el script comojason
pero nowww-data
. Esto tiene sentido. - Si lo hago
chown -R www-data cache
, puedo ejecutar el script comowww-data
pero nojason
. Esto también tiene sentido.
Intenté crear un grupo llamado scripts
, agregar a mis dos usuarios y luego chown
ingresar cache
a scripts
. No estoy muy seguro de cómo hacer la última parte, la chown
primera parte. Los documentos de comandos de Linux que encontré en línea para esto son sorprendentemente malos.
No sé si lo expliqué muy bien, pero espero que quede claro lo que intento hacer. Cualquier consejo sería apreciado.
Respuesta1
Normalmente con chown harías:
usuario chown: grupo (archivos)
¿Eso no funciona? ¿Puedes verificar y asegurarte de que los archivos sean propiedad del grupo y que el segundo grupo de permisos sea al menos rx?
-rwxr-xr-x 1 user group 44380 2009-02-10 13:10 junk
Respuesta2
Puedes usarchgrp
ochown
al especificar user:group
en lugar de solo user
.
Probablemente querrás especificar elbit SGID, de modo que la propiedad del grupo se mantenga en el momento de la creación. Puedes hacer esto usando chmod g+s directory
.
También deberá asegurarse de que los bits de escritura y ejecución estén configurados para el grupo, lo cual se puede hacer con chmod g+wx
.