Otra forma es poner el usuario apache y los usuarios "clientes" en un nuevo grupo. Además, el directorio debe usar el bit adhesivo SGID
para que cada nuevo archivo obtenga la asignación de grupo para este nuevo grupo. De esta manera el servidor web y los "usuarios del cliente" pueden trabajar con los archivos sin ningún problema
[17:57] [email protected] /tmp/test $ ls -al /tmp/test
total 9
drwxrwsr-x 2 root users 48 Apr 1 17:55 .
drwxrwxrwt 36 root root 9264 Apr 1 17:53 ..
Como se puede ver el directorio consiguió el sticky bit SGID
y el propietario es el grupo "usuarios" en la que I (progman
) a.m. No se si otro usuario añade un archivo de forma automática el grupo consiga el conjunto de este grupo
[17:55] proglap ~ # touch /tmp/test/x
Esto se ejecuta desde la raíz. Ahora tenemos:
[17:57] [email protected] /tmp/test $ ls -la /tmp/test
total 9
drwxrwsr-x 2 root users 72 Apr 1 17:59 .
drwxrwxrwt 36 root root 9264 Apr 1 17:53 ..
-rw-r--r-- 1 root users 0 Apr 1 17:59 x
Como se ve el archivo añadido es de raíz, pero el grupo se establece en users
y de esta manera I puede quitar
[18:00] [email protected] /tmp/test $ rm x
rm: remove write-protected regular empty file `x'? y
[18:01] [email protected] /tmp/test $ ls -la /tmp/test
total 9
drwxrwsr-x 2 root users 48 Apr 1 18:01 .
drwxrwxrwt 36 root root 9264 Apr 1 17:53 ..
Tenga en cuenta que todavía necesita cambiar el chmod
si desea editar el archivo como rw-r--r--
es solo grupo de acceso de lectura. Pero cambiar el chmod
, tal vez incluso trabajando con umask
, es mejor que lidiar con el acceso de root y usar chown
.
Esto funcionó Sanhe - Gracias –
** Advertencia Esta característica ha sido DEPURADA a partir de PHP 5.3.0 y RETIRADA a partir de PHP 5.4.0. ** – Jim