2012-06-29 16 views
8

Siempre me ha desconcertado que si una carpeta tiene permisos de lectura y escritura, Apache + PHP no puede escribir en ella. Tienes que terminar de dar permisos de ejecución de apache para poder escribir un archivo en esa carpeta. ¿Por qué?¿Por qué Apache + PHP requiere permisos de ejecución para escribir en un archivo?

Por ejemplo, con chmod 664 (donde el grupo de construcción incluye el usuario apache) apache no será capaz de escribir un archivo de caché temporal en esta carpeta:

drw-rw-r-- 5 jenkins build 4096 Jun 15 13:05 cache 

mientras que con chmod 774 Apache podrá escribir un nuevo archivo en la carpeta:

drwxrwxr-- 5 jenkins build 4096 Jun 29 11:44 cache 

Respuesta

9

es necesario ejecutar el permiso para entrar conceptualmente un directorio (cd en ella, dentro de los archivos de lista, etc.). Hubiera sido más claro si llamaran a este bit algo más por directorios. Este article recomienda considerarlo como el permiso de "búsqueda" en los directorios.

2

Cuando estos permisos se establecen para un directorio, da la capacidad de acceder a la metainformación y acceder a los contenidos, creo que esta es la razón por la que debe ejecutar.

Cuestiones relacionadas