Impostare i permessi delle cartelle e dei file di WordPress

Capita spesso di ritrovarsi di fronte ad installazioni di WordPress che presentano problemi apparentemente senza una causa ed il più delle volte la causa unica è una non corretta impostazione dei permessi di lettura/scrittura di file e cartelle.
Approfondiamo l’argomento con qualche esempio e qualche spiegazione.
- Leggi l'articolo, ti bastano solo 2 minuti, 27 secondi
Sei di fretta? Scarica il PDF e consultalo quando vuoi!
Sommario
Cosa sono i permessi?
Semplificando al massimo, tutti i sistemi multiutente (nel nostro caso specifico il server su cui è hostato WordPress) necessitano di un sistema che gestisca l’accesso a files e cartelle, specificando quali utenti hanno la possibilità di leggere e/o scrivere un determinato file o in una determinata cartella.
Ogni file ed ogni cartella ha solitamente tre livelli di accesso:
owner: l’utente che ha creato il file (o la cartella);
group: il gruppo di appartenenza, solitamente il gruppo principale a cui appartiene l’utente che ha creato il file (o la cartella);
other: indica tutti gli altri utenti, che non sono proprietari del file (o della cartella) e non appartengono allo stesso gruppo del proprietario… il “resto del mondo”, insomma.
Permessi di base e loro rappresentazione
I permessi di base si suddividono in tre classi: lettura, scrittura, esecuzione e vengono solitamente espressi in rappresentazione ottale, ovvero un numero di quattro cifre in base 8 (da 0 a 7). Eccone significato e rappresentazione numerica:
Rappresentazione ottale | File | Cartella | |
---|---|---|---|
Lettura | 4 | permette di leggere il contenuto | permette di elencare files e cartelle contenute |
Scrittura | 2 | permette di modificare il contenuto | permette di aggiungere o rimuovere file e cartelle contenute |
Esecuzione | 1 | permette di eseguire il file | permette di attraversare per accedere a files e sottodirectory (senza elenco, vedi lettura) |
Tutti i files e le cartelle hanno una specifica indicante come comportarsi relativamente ai tre livelli di accesso (owner, group, other) e ai permessi di base (lettura, scrittura, esecuzione).
Ad esempio, per assegnare i permessi di lettura e scrittura al solo proprietario del file, imposteremo i permessi sul valore: 600, ovvero:
6 => owner
0 => group
0 => other
6 = 4 + 2 = lettura + scrittura
Facciamo un altro esempio:
Owner => lettura, scrittura, esecuzione = 4 + 2+ 1 = 7
Group => lettura, esecuzione = 4 + 1 = 5
Other => esecuzione = 1
Il file dovrà avere i permessi impostati su: 751
Perché fare attenzione ai permessi?
Impostare in modo non corretto i permessi di file e cartelle può comportare diversi problemi. Con permessi troppo restrittivi su lettura e scrittura, ad esempio, WordPress non sarà in grado di consentire l’upload delle immagini, in quanto potrebbe non avere la possibilità di scrivere nella cartella uploads, cosa che succede davvero molto molto spesso.
Ma neanche essere troppo permissivi è una buona norma. Impostando i permessi in maniera troppo “generosa” si apre la possibilità di accedere e modificare contenuti anche a chi non dovrebbe. Non sai quante volte mi sono imbattuto in situazioni del tipo “Mi hanno hackerato il sito, come hanno fatto?” e scoprire che i permessi impostati su file e cartelle erano su 777 (praticamente accesso garantito a chiunque!). È un po’ come lasciare la porta di casa aperta e stupirsi che siamo stati derubati.
Fortunatamente molti hosting controllano le impostazioni dei permessi e nel caso non siano corretti restituiscono un ERRORE 500 – INTERNAL SERVER ERROR. Nel caso ti capiti di ricevere questo errore, una delle possibili cause (ma ahimè non l’unica) potrebbe essere il settaggio dei permessi di file e cartelle. Nel caso la causa non dovesse essere relativa ai permessi, leggi:
Ma quindi, come regolarsi con i permessi?
I permessi ideali per WordPress
Ecco, se sei arrivato indenne alla noiosa teoria, meriti il premio finale: sapere come impostare correttamente i permessi per i file e le cartelle di WordPress!
È buona norma e consuetudine, per ragioni di sicurezza, evitare sempre il 7 finale, che implicherebbe, per quanto detto in precedenza, l’autorizzazione a scrivere da parte di qualsiasi utente. Ecco i permessi ideali:
- 755 per le cartelle
- 644 per i file
- 600 per il file wp-config.php
Come impostare i permessi a file e cartelle
Abbiamo compreso cosa sono i permessi, come si rappresentano e come è consigliabile impostarli su WordPress, ma come si fa a capirne il valore assegnato ai file e cartelle ed eventualmente a modificarli?
È sufficiente procurarsi un client FTP, nel nostro esempio utilizzeremo FileZilla Client.
Apri FileZilla e collegati al server su cui è hostato il tuo WordPress, inserendo le credenziali FTP (se non le hai, richiedile al tuo hosting)
Nella colonna Permessi, trovi la rappresentazione ottale dei permessi assegnati a ciascun file e cartella.
Per modificarli, clicca col tasto destro sul singolo file (o cartella) e scegli “Permessi file…”
Da qui potrai impostare i permessi inserendo il valore ottale oppure spuntando le caselle relative ai permessi di base.
Procedura consigliata
Per modificare ricorsivamente ed in un colpo solo tutti i permessi, ti consiglio di procedere in questo ordine:
PERMESSI FILE
- seleziona tutti i file e le cartelle presenti nella root
- clicca col tasto destro e scegli “Permessi file…”
- nel campo “Valore numerico” inserisci 644
- spunta la casella “Includi sottocartelle” e scegli “Applica solo ai file”
- clicca su “OK”
PERMESSI CARTELLE
- seleziona ora solo le cartelle presenti nella root (wp-admin, wp-content, wp-includes)
- clicca col tasto destro e scegli “Permessi file…”
- nel campo “Valore numerico” inserisci 755
- spunta la casella “Includi sottocartelle” e scegli “Applica solo alle cartelle”
- clicca su “OK”
PERMESSI WP-CONFIG
- clicca col destro sul solo file wp-config.php e scegli “Permessi file…”
- nel campo “Valore numerico” inserisci 600
- clicca su “OK”