1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Modificare i diritti/autorizzazioni di un file
Il CHMOD (abbreviazione di cambia modalità ) permette di modificare le autorizzazioni di accesso di un file o di una directory.
I diritti (leggere su Wikipedia) disponibili per ogni persona/gruppo sono i seguenti:
- lettura: dà il diritto di elencare (necessita anche del diritto di esecuzione) e leggere in una directory e/o leggere un file
- scrittura: dà il diritto di creare, modificare, rinominare, cancellare dei file e/o delle directory
- esecuzione: per una directory: dà il diritto di percorrerla per leggere le sue sotto-directory -> Per un file: dà il diritto di eseguirlo se è un programma o uno script ad esempio.
- set uid (leggere su Wikipedia): su un file con i diritti di esecuzione questo avrà il risultato di eseguirlo con i diritti del proprietario se utilizza la chiamata di sistema execve o setuid
- set gid (leggere su Wikipedia): tutti i nuovi file creati apparterranno al gruppo della directory e su un file con i diritti di esecuzione questo avrà per risultato la sua esecuzione con i diritti del gruppo
- sticky bit (leggere su Wikipedia): su una directory, i file della directory potranno essere rinominati o eliminati solo dal proprietario anche se gli altri utenti hanno il diritto di scrittura. Diritto non del tutto utile sui file
Ti consigliamo l'utilizzo del nostro gestore di file FTP Manager che ti permette di modificare le autorizzazioni dei file (compreso quello di/web).
La maggior parte dei programmi FTP permettono di modificare i diritti di accesso ai file; la funzione in genere si chiama "CHMOD" e si trova in "Proprietà ", "Autorizzazioni" o "Attributi" (in generale facendo clic destro sul file o sulla cartella da modificare). Una casella permette spesso di applicare le autorizzazioni a tutte le sotto-directory e ai file nella cartella, in modo ricorsivo.
Dopo aver selezionato le autorizzazioni che la interessano, convalida e i diritti saranno modificati tranne quelli per cui non hai l'autorizzazione di modifica o piuttosto l'utente con cui ti sei identificato non ha il diritto di modificare.
Esempio con Filezilla
Maggiori informazioni
Quando si parla di modificare le autorizzazioni, si tratta in generale di fare un "chmod 777", "chmod 666" o altro. Quindi tre cifre di cui:
- la prima corrisponde ai diritti del proprietario
- la seconda corrisponde ai diritti del gruppo
- la terza cifra corrisponde ai diritti degli altri utenti.
E i diritti si dividono così:
- "4" per il diritto di lettura (read)
- "2" per il diritto di scrittura (write)
- "1" per il diritto di esecuzione (execute)
In seguito basta addizionare questi numeri. Ad esempio 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 a ogni buon programma FTP, quindi avrai la possibilità di mettere direttamente il numero nel tuo client FTP perché le autorizzazioni siano modificate.
Per modificare le autorizzazioni su dei file o directory in PHP, puoi anche farlo con la funzione "chmod" come nel seguente esempio :
chmod ("/un_dossier/un_fichier", 0755)Nota che il valore da applicare deve essere in ottale, di cui lo zero deve essere obbligatorio. Attenzione se memorizzi il valore in una variabile, avrai un problema a livello dei dati che puoi evitare con la funzione octdec(), come nel seguente esempio:
$mode = 0755;chmod("/un_dossier/un_fichier", octdec($mode))