Dar permisos a dos usuarios diferentes para un directorio

Dar permisos a dos usuarios diferentes para un directorio

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 como jasonpero no www-data. Esto tiene sentido.
  • Si lo hago chown -R www-data cache, puedo ejecutar el script como www-datapero no jason. Esto también tiene sentido.

Intenté crear un grupo llamado scripts, agregar a mis dos usuarios y luego chowningresar cachea scripts. No estoy muy seguro de cómo hacer la última parte, la chownprimera 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 usarchgrpochownal especificar user:groupen 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.

información relacionada