1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Comprendere CHMOD (Diritti di file sul server)
CHMOD (abbreviazione di cambio modalità ) consente di modificare i permessi di accesso di un file o di una directory.
I diritti (leggi su Wikipedia) disponibili per ogni persona/gruppo sono le seguenti:
- lettura: dà il diritto di elencare (richiede anche il diritto 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: dà il diritto di attraversarla per leggere le sue sottodirectory -> Per un file: dà il diritto di eseguirla se si tratta di un programma o di uno script, ad esempio.
- set uid (leggi su Wikipedia): su un file con i diritti di esecuzione ciò avrà l'effetto di eseguirlo con i diritti del proprietario se utilizza la chiamata di sistema execve o setuid
- set gid (leggi su Wikipedia): tutti i nuovi file creati apparterranno al gruppo della directory e su un file con i diritti di esecuzione ciò avrà l'effetto di eseguirlo con i diritti del gruppo
- sticky bit (leggere su Wikipedia): su una directory, i file della directory possono essere rinominati o eliminati solo dal proprietario, anche se gli altri utenti hanno il diritto di scrivere. Giusto non davvero utile sui file
Le Gestione file FTP Manager permette di modificare i permessi dei file (compreso quello di /web).
La maggior parte dei software/clienti FTP consente di modificare i diritti di accesso ai file; la funzione di solito si chiama "CHMOD" e si trova sotto "Proprietà ", "Permessi" o "Attributi" (di solito facendo clic destro sul file o cartella da modificare). Una casella di controllo spesso consente di applicare i permessi a tutte le sottodirectory e i file nella cartella, in modalità ricorsiva.
Quando hai selezionato i permessi che ti interessano, convalida e i diritti saranno modificati tranne quelli che non hai l'autorizzazione a modificare o piuttosto che l'utente sotto il quale sei identificato non ha il diritto di modificare.
Esempio di Filezilla:
Per saperne di più
Quando si parla di cambiare i permessi, di solito si tratta di fare un "chmod 777
", "chmod 666
"o altro. Quindi tre cifre di cui:
- Il primo corrisponde ai diritti del proprietario.
- Il secondo corrisponde ai diritti del gruppo
- La terza cifra corrisponde ai diritti degli altri utenti.
E i diritti si decompongono così:
- "4" per il diritto di lettura (read)
- "2" per il diritto di scrittura (write)
- "1" per il diritto di esecuzione (execute)
Basta aggiungere queste cifre. P.ex se vuoi tutti i diritti per il proprietario ma nessun diritto per gli altri, farai "chmod 700" (4 + 2 + 1 7). Se vuoi solo i diritti di lettura e scrittura per tutti (4 + 2 6), farai un "chmod 666".
Questi valori sono noti per qualsiasi buon software/client FTP, quindi avrai la possibilità di inserire direttamente il numero nel tuo software/client FTP in modo che i permessi vengano cambiati.
Per cambiare i permessi su file o directory in PHP, puoi farlo anche con la funzione "chmod" come nell'esempio seguente:
chmod ("/un_dossier/un_fichier", 0755)
Si noti che il valore da applicare deve essere ottale, quindi lo zero deve essere obbligatorio. Attenzione se si memorizza il valore in una variabile, si avrà un problema di tipo di dati, che è possibile aggirare con la funzione octdec()
, come nel seguente esempio:
$mode = 0755;chmod("/un_dossier/un_fichier", octdec($mode))