2012-06-29 12 views
8

Mi ha sempre sconcertato il fatto che se una cartella ha permessi di lettura e scrittura, Apache + PHP non può scrivere su di essa. Devi terminare le autorizzazioni di esecuzione Apache per poter scrivere un file in quella cartella. Perché?Perché Apache + PHP richiede autorizzazioni di esecuzione per scrivere su un file?

Ad esempio, con chmod 664 (in cui il gruppo di generazione include l'utente apache) apache non sarà in grado di scrivere un file di cache temporanei in questa cartella:

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

mentre con chmod 774 apache sarà in grado scrivere un nuovo file nella cartella:

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

risposta

9

è necessario eseguire il permesso di entrare concettualmente una directory (cd in esso, all'interno di file di elenco, ecc). Sarebbe stato più chiaro se avessero chiamato questo bit qualcos'altro per le directory. Questo article consiglia di considerarlo come il permesso di "ricerca" nelle directory.

2

Quando queste autorizzazioni sono impostate per una directory, dà la possibilità di accedere a metainfo e accedere ai contenuti Penso che questo sia il motivo per cui è necessario eseguire.

Problemi correlati