1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Comprendere CHMOD (permessi di file sul server)
Questa guida dettaglia CHMOD (abbreviazione di change mode) che permette di cambiare i permessi di accesso di un file o di una directory.
Modificare i permessi FTP
I permessi (vedi questa guida Wikipedia) disponibili per ogni persona/gruppo sono i seguenti:
- lettura: consente di elencare (richiede anche il permesso di esecuzione) e leggere in una directory e/o leggere un file
- scrittura: consente di creare, modificare, rinominare, eliminare file e/o directory
- esecuzione: per una directory: consente di attraversarla per leggere le sottodirectory -> Per un file: consente di eseguirlo se è un programma o uno script, ad esempio.
- set uid (?): su un file con i permessi di esecuzione, questo avrĂ l'effetto di eseguirlo con i permessi del proprietario se utilizza la chiamata di sistema execve o setuid
- set gid (?): tutti i nuovi file creati appartengono al gruppo della directory e su un file con i permessi di esecuzione, questo avrĂ l'effetto di eseguirlo con i permessi del gruppo
- sticky bit (?): su una directory, i file della directory possono essere rinominati o eliminati solo dal proprietario, anche se altri utenti hanno il permesso di scrittura. Permesso non molto utile sui file
Il gestore di file FTP Manager permette di cambiare i permessi dei file (incluso quello di /web).
La maggior parte dei software/clienti FTP permette di cambiare i permessi di accesso ai file; la funzione si chiama generalmente "CHMOD" e si trova sotto "ProprietĂ ", "Permessi" o "Attributi" (di solito facendo clic destro sul file o sulla cartella da modificare). Una casella permette spesso di applicare i permessi a tutte le sottocartelle e ai file nella cartella, in modalitĂ ricorsiva.
Quando hai selezionato i permessi che ti interessano, conferma e i permessi saranno modificati, tranne quelli che non hai l'autorizzazione a modificare o piuttosto che l'utente con cui sei identificato non ha il diritto di modificare.
Esempio con Filezilla:
Scopri di piĂą
Quando si parla di cambiare i permessi, in genere si tratta di fare un "chmod 777", "chmod 666" o altro. Quindi tre cifre di cui:
- la prima corrisponde ai permessi del proprietario
- la seconda corrisponde ai permessi del gruppo
- la terza cifra corrisponde ai permessi degli altri utenti.
E i permessi si suddividono così:
- "4" per il permesso di lettura (read)
- "2" per il permesso di scrittura (write)
- "1" per il diritto di esecuzione (execute)
Successivamente, basta sommare questi numeri. Ad esempio, se si desidera tutti i diritti per il proprietario ma nessun diritto per gli altri, si eseguirĂ "chmod 700" (4 + 2 + 1 = 7). Se si desidera solo i diritti di lettura e scrittura per tutti (4 + 2 = 6), si eseguirĂ "chmod 666".
Questi valori sono noti a qualsiasi buon software/client FTP, quindi avrete la possibilità di inserire direttamente il numero nel vostro software/client FTP affinché le autorizzazioni vengano modificate.
Per modificare le autorizzazioni su file o cartelle in PHP, è possibile farlo anche con la funzione “chmod”, come nell'esempio seguente:
chmod ("/a_folder/a_file", 0755)Nota che il valore da applicare deve essere in ottale, da cui lo zero iniziale obbligatorio. Attenzione se si memorizza il valore in una variabile, si avrà un problema di tipo di dati, che si può aggirare con la funzione octdec(), come nell'esempio seguente:
$mode = 0755;chmod("a_folder/a_file", octdec($mode))