Base di conoscenze
1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Comprendere CHMOD (permessi dei file sul server)
Questa guida illustra CHMOD (abbreviazione di change mode), che consente di modificare i permessi di accesso di un file o di una directory.
Modificare i permessi FTP
I permessi (per maggiori informazioni, consulta questa guida di Wikipedia) disponibili per ogni utente/gruppo sono i seguenti:
- lettura: consente di elencare (richiede anche il permesso di esecuzione) e leggere i file in una directory e/o di leggere un file.
- scrittura: consente di creare, modificare, rinominare ed eliminare file e/o directory
- esecuzione: per una directory: consente di accedervi per leggere le sue sottodirectory; per un file: consente di eseguirlo, ad esempio se si tratta di un programma o di uno script.
- set uid (?): per un file con permessi di esecuzione, questo avrà l'effetto di eseguirlo con i permessi del proprietario, se viene utilizzata la chiamata di sistema execve o setuid.
- set gid (?): tutti i nuovi file creati apparterranno al gruppo della directory e, per un file con permessi di esecuzione, questo avrà l'effetto di eseguirlo con i permessi del gruppo.
- bit appiccicoso (?): su una directory, i file al suo interno potranno essere rinominati o eliminati solo dal proprietario, anche se gli altri utenti hanno il diritto di scrittura. Questo diritto non è particolarmente utile per i file.
Il Web FTP nel pannello di controllo consente di modificare i permessi dei file (incluso quello di /web).
La maggior parte dei software/client FTP consente di modificare i permessi di accesso ai file; questa funzione si chiama generalmente "CHMOD" e si trova in "Proprietà", "Permessi" o "Attributi" (di solito facendo clic con il tasto destro sul file o sulla cartella da modificare). Spesso è presente una casella che consente di applicare i permessi a tutte le sottocartelle e i file all'interno della cartella, in modalità ricorsiva.
Dopo aver selezionato i permessi desiderati, confermare e i diritti verranno modificati, ad eccezione di quelli per cui non si dispone dell'autorizzazione o, più precisamente, per cui l'utente con cui si è effettuato l'accesso non dispone dell'autorizzazione.
Esempio con Filezilla:
Approfondimenti
Quando si parla di modificare le autorizzazioni, in genere si intende eseguire un comando del tipo "chmod 777", "chmod 666" o simile. Si tratta quindi di tre cifre che:
- il primo corrisponde ai diritti del proprietario
- il secondo corrisponde ai diritti del gruppo
- la terza cifra corrisponde ai diritti degli altri utenti.
I diritti sono così suddivisi:
- "4" per il diritto di lettura (read)
- "2" per il diritto di scrittura (write)
- "1" per il diritto di esecuzione
È sufficiente sommare questi numeri. Ad esempio, se si desidera concedere tutti i diritti al proprietario ma nessun diritto agli altri, si utilizzerà "chmod 700" (4 + 2 + 1 = 7). Se si desidera concedere solo i diritti di lettura e scrittura a tutti (4 + 2 = 6), si utilizzerà "chmod 666".
Questi valori sono noti a tutti i programmi/client FTP, quindi sarà possibile inserire direttamente il numero nel programma/client FTP per modificare le autorizzazioni.
Per modificare le autorizzazioni di file o directory in PHP, è anche possibile utilizzare la funzione “chmod”, come nell'esempio seguente:
chmod ("/a_folder/a_file", 0755)Si noti che il valore da applicare deve essere in formato ottale, da cui lo zero iniziale obbligatorio. Prestate attenzione: se memorizzate il valore in una variabile, potreste riscontrare un problema di tipo di dati, che potete risolvere utilizzando la funzione octdec(), come nell'esempio seguente:
$mode = 0755;chmod("a_folder/a_file", octdec($mode))Link a questa FAQ: https://faq.infomaniak.com/111
Questa FAQ è stata utile?