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 le autorizzazioni di accesso di un file o di una directory.
Modificare i permessi FTP
I diritti (per maggiori informazioni, consulta questa guida di Wikipedia) disponibili per ogni utente/gruppo sono i seguenti:
- lettura: consente di elencare (richiede anche il diritto di esecuzione) e leggere i contenuti di 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 (?): su un file con i permessi di esecuzione, questo avrà l'effetto di eseguirlo con i privilegi del proprietario se utilizza la chiamata di sistema execve o setuid.
- set gid (?): tutti i nuovi file creati apparterranno al gruppo della directory e, su un file con i permessi di esecuzione, questo avrà l'effetto di eseguirlo con i privilegi del gruppo.
- bit di "sticky" (?): 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 dei diritti necessari.
Per saperne di più
Quando si parla di modificare le autorizzazioni, in genere si tratta di eseguire un comando del tipo "chmod 777", "chmod 666" o simile. Si tratta quindi di tre cifre, dove:
- la prima corrisponde ai diritti del proprietario
- il secondo corrisponde ai diritti del gruppo
- il terzo numero corrisponde ai diritti degli altri utenti.
E i permessi sono così suddivisi:
- "4" per il permesso di lettura (read)
- "2" per il diritto di scrittura
- "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 software/client FTP, quindi sarà possibile inserire direttamente il numero nel software/client FTP per modificare le autorizzazioni.
Per modificare le autorizzazioni di file o directory in PHP, è possibile utilizzare anche 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. Se si memorizza il valore in una variabile, si potrebbe riscontrare un problema di tipo di dati, che è possibile risolvere con 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?