Come impostare i permessi sui file (CHMOD) Come impostare i permessi sui file (CHMOD)

L'impostazione dei permessi dei file del vostro sito è una cosa molto importante e su cui bisogna mettere la massima attenzione, questo perché tale operazione permette al server hosting di operare correttamente proprio sui file in questione.

Inoltre bisogna sottolineare l'importanza del fattore sicurezza dato che molti di questi permessi (come ad es. quelli di configurazione) necessitano di una protezione e non dovrebbero essere manipolabili da script esterni.

L'impostazione errata dei permessi sul server potrebbe causare problemi di funzionamento del sito, per cui è necessario operare le modifiche con la massima attenzione.
Nella pratica, come vedremo in questa FAQ, esistono tre modi per modificare i permessi ai file.

Primo Metodo: Utilizzare File Manager all'interno di cPanel

 

Utilizzare File Manager in cPanel

 

Uno dei modi più immediati per modificare i permessi dei file è quello di utilizzare il pannello di controllo cPanel, in particolare il File Manager (lo stesso utilizzato per impostare il mod_rewrite).

Per modificare i permessi si può seguire la procedura che riportiamo di seguito:

1.  Fare login all'interno del cPanel del sito di interesse.
2.  Fare click su “Gestione File” (File Manager).
3.  Selezionare mediante click con il tasto sinistro del mouse il file che si desidera modificare in termini di permessi.
4.  Selezionare il link in alto a destra “Cambia permessi” (Change Permissions).
5.  Inserire i permessi desiderati secondo la griglia riportata (spiegata nel seguito della FAQ).
6. Cliccare su “Cambia” per confermare la modifica.

Secondo Metodo.: utilizzando un client FTP


Connettersi al sito mediante FTP (ad esempio FileZilla), selezionare il file e fare click con il tasto destro. Selezionare a questo punto “Permessi” oppure “Attributi” oppure, in FileZilla, “Permessi file...” e, a questo punto, impostarli come desiderato cliccando alla fine su “Ok” per confermare la scelta.

Mediante FTP è molto comodo impostare, se necessario, anche i permessi di un gruppo di file o di una cartella spuntando l'apposita opzione.
 

FTP impostare permessi
 

Terzo Metodo: utilizzando SSH oppure uno script apposito


Questa operazione può essere eseguita a basso livello mediante il comando CHMOD.

Cosa significano i permessi?

I permessi dei file indicano, in sostanza, ciò che ogni utenza è autorizzata a compiere in termini di scrittura del file, lettura ed esecuzione.

 

 

Proprietari

Gruppo

Pubblici

Lettura

Scrittura

 

 

Esecuzione


 

Nella tabella esemplificativa che riportiamo le colonne rappresentano le tipologie di utenti: la prima identifica il “Proprietario”, ovvero tipicamente il webmaster del sito, colui che possiede l'accesso mediante cPanel al sito. Il “Gruppo” rappresenta invece tutte le eventuali altre utenze presenti sul server, mentre i “Pubblici” non sono altro che gli utenti ordinari del WWW.

Ogni riga rappresenta il tipo di permesso specifico che può essere settato, quindi nominalmente lettura, scrittura ed esecuzione del file. È molto importante che sia “Gruppo” che “Pubblici” possiedano il permesso di leggere, ovvero visualizzare, i file del sito: in caso contrario potrebbe verificarsi un errore 403 durante l'ordinario utilizzo del sito da parte degli utenti (si vedano per maggiori informazioni i codici di errore del server).

All'interno del programma “Gestione File”, inoltre, è importante sapere che i permessi sono codificati attraverso numeri: in alcuni casi i numeri potrebbero essere quattro (ad esempio 0755), il che è del tutto equivalente a considerare soltanto gli ultimi tre (755).

I numeri rappresentano una combinazione univoca di permessi che abbiamo concesso al file oppure alla cartella del nostro sito: nella combinazione 755, la prima cifra si riferisce al gruppo “Proprietario”, la seconda al “Gruppo”, la terza al “Pubblico”. Il permesso di lettura viene codificato come 4, quello in scrittura come 2, quello in esecuzione come 1, mentre la mancanza di un permesso è la cifra 0. Sono ammesse anche combinazioni degli stati appena citati, ovvero:

- Lettura e scrittura viene codificato come 3 (2+1)
- Lettura ed esecuzione viene codificato come 5 (4+1)
- Lettura e scrittura viene codificato come 6 (4+2)
- Lettura, scrittura ed esecuzione viene codificato come 7 (4+2+1)
 

A questo punto tutto quello che è necessario sapere si riassume così: i file devono possedere permessi 644 oppure 755, le cartelle devono possedere attributi necessariamente pari a 755. In termini di sito web, in molti casi il permesso di esecuzione su un file è del tutto indifferente, non dovreste notare alcuna differenza in termini pratici. Tutti i file presenti nella cartella cgi-bin, infine devono possedere permessi 755.

Impostazioni avanzate


Durante la fase di debug di un sito potrebbe esser necessario impostare i permessi a 777, ovvero il massimo della libertà: questa impostazione non è ammessa su tutti i server e, in generale, è del tutto equivalente alla classica 755 per la maggioranza degli script diffusi sul web.

Se uno script richiede necessariamente il permesso 777, quindi, potrebbe trattarsi di un problema di codice oppure lo stesso potrebbe risultare obsoleto e non più funzionante.

Rischi per la sicurezza


Il più grande problema per la sicurezza di un sito consiste, come è facile immaginare, nel fornire permessi di scrittura agli utenti “Gruppo” e “Pubblici”, in quanto consentirebbe agli utenti malintenzionati di modificare o cancellare elementi del vostro sito.

Le ultime due cifre della combinazione dei permessi, come regola generale, non dovrebbe mai essere uguale alle cifre 2, 3, 6, 7.

Alcuni script, inoltre, sono problematici in termini di permessi perché richiedono necessariamente il 777, ed il sistema potrebbe considerare – a seconda dei casi e delle configurazioni sottostanti il server – l'utente PHP come “nobody”: si veda per approfondimenti la FAQ relativa agli handler PHP.


Permessi dalla shell di Linux/Unix

Come abbiamo visto in precedenza, i permessi possono essere rappresentati in modi differenti mediante una combinazione di tre o quattro cifre: se si utilizza SSH, tuttavia, i permessi compariranno come segue:

drwxr-xr-x
0123456789

Il primo carattere rappresenta il tipo di file e può essere ignorato, ai nostri scopi, mentre le tre lettere successive, invece, codificano rispettivamente lettura (r), scrittura (w) ed esecuzione (x). Le successive tre lettere, invece, rappresentano i permessi del “Proprietario”: si noti inoltre come il trattino “-” indichi la mancanza di permessi.

rwx rappresenta quindi i permessi ordinari del “Proprietario”, r-x quelli del “Gruppo” e (le ultime tre lettere)  quelli “Pubblici”:  r-x significa che la scrittura non è ammessa, in particolare, per quel determinato ruolo.

Tabella di FileZilla

Codifica numerica

Codifica Linux

Definire permessi tramite SSH

755 oppure 0755

drwxr-xr-x

Permessi shell Linux/Unix

644 oppure 0644

drw-r--r--

700 oppure 0700

drwx------

777 oppure 0777

drwxrwxrwx

Hai trovato questa risposta utile?
22201 Visualizzazioni
person_pin Cosa pensano di noi i nostri clienti...

share Articoli correlati