Come impostare i permessi di default di WordPress correttamente [CHMOD]

Come impostare i permessi di default di WordPress correttamente [CHMOD]

Molti problemi di wordpress sono determinati da una scarsa conoscenza delle dinamiche internet che lo fanno funzionare: a differenza di Blogger (che ha una gestione errori su cui non possiamo intervenire comunque), WP in versione hosted su un servizio come SupportHost oppure Hosting Virtuale porta in sè una serie di know-how di cui dobbiamo, secondo me, essere almeno consapevoli.

Il rischio, diversamente, è quello di considerarlo un “oggetto misterioso” mettendo così a rischio, almeno in teoria, l’integrità dei nostri dati, dei post e delle pagine che faticosamente abbiamo messo insieme nel tempo. wordpress migliora di versione in versione ed è facile, veloce e gratuito, ma non è affatto il “giocattolo” a cui generazioni di fuffari del web marketing hanno cercato di abituarci.

Ispirandomi alla guida ufficiale “Hardening wordpress“, ho riportato alcuni dei controlli (check) principali che potete effettuare da voi qualora WP presenti uno dei seguenti “sintomi”:

  1. non si riesce a cancellare file o directory indesiderate, vuote o inutili;
  2. non si riesce ad aggiornare il blog;
  3. non si riesce aggiornare un theme di WordPress;
  4. non si riescono a caricare immagini nella sezione Media;
  5. non si riescono ad aggiungere immagini ai post;
  6. da utenti di WP non è possibile aggiungere post, metterli in revisione o editarli, quando invece dovremmo avere i diritti per farlo;
  7. aggiornamenti automatici che non funzionano;
  8. varie ed eventuali sulla falsariga dei punti precedenti.

Vediamo subito come procedere a fare i controlli e le correzioni sul funzionamento di WordPress: si tratta di cose che potete fare anche da soli per gradi, verificando volta per volta se cambia qualcosa o se, quantomeno, il problema venga individuato. In questa micro-guida assumo semplicemente che stiate utilizzando hosting Linux, perchè su quelli Windows il comando CHMOD non è disponibile.

La rigenerazione dei permessi non è la panacea di tutti i mali ma, di certo, è una cosa da verificare e correggere, se necessario, praticamente nella totalità di casi critici. In alcune circostanze il malfunzionamento di WordPress può dipendere da altri fattori come plugin fallati, theme scadenti / infetti da malware, problemi sul core del sito, problemi a livello di hosting ed altro ancora.

Rigenerare le chiavi Univoche di Autenticazione e di Salatura

Aprite da FTP il file wp-config.php, e sostituite questa porzione di codice:

define('AUTH_KEY',         'k=ll*~p[hi...');
define('SECURE_AUTH_KEY',  'd.%#D|-5!Y...');
define('LOGGED_IN_KEY',    'vt&v*a=sU5...');
define('NONCE_KEY',        'N6fAr+Z#xd...');
define('AUTH_SALT',        'oP|=-NUi(8...');
define('SECURE_AUTH_SALT', '_&sD1?Ic%N...');
define('LOGGED_IN_SALT',   'e#sF4m)^k:...');
define('NONCE_SALT',       'S}JptD7J8:...');

con quella generata dinamicamente da questa pagina https://api.wordpress.org/secret-key/1.1/salt/. Questo servirà ad invalidare tutti i vecchi cookie, sbatterà fuori dal sistema eventuali utenze rimaste loggate, e vi permetterà di agire da amministratori in perfetta solitudine (o quasi).

 

Settare i permessi di WordPress via CHMOD / FTP nel modo corretto

Esistono varie discussioni sul tema, e questo argomento è forse uno dei principali perchè, di fatto, settare male un permesso nella directory o nel file X di WordPress crea numerosi potenziali problemi ed errori imprevisti (tipo errore 403 o 500, a volte). È impossibile cercare anche solo di sintetizzare le casistiche, quello che bisogna sapere è come WP suggerisca di impostare i permessi:

  • 644 per i file;
  • 755 per le directory.

Per chi non fosse pratico di nomenclatura CHMOD di Linux, basti sapere che i tre numeretti indicano i livello di permesso a cui è consentito accedere per gruppo, utente e per utente anonimo.

Nota – alcuni provider di hosting come Aruba richiedono necessariamente il CHMOD 755 sia per i file che per le directory, in modo da evitare l’errore 500 sul server (fonte).

A voi basta sapere che, in generale, qualsiasi configurazione valida non deve finire MAI con un 7 finale (perchè implicherebbe permessi di scrittura da parte del pubblico, e questo va male su qualsiasi sito web), e per il resto dovete rifarvi alla documentazione ufficiale del CMS. Alcuni hosting di bassa qualità, di fatto, tendono a settare in modo sballato questo tipo di configurazione, probabilmente per imperizia del sistemista o, a volte, perchè ci sono script malevoli che possono settare male i permessi o, ancora, per un eccessivo zelo nel voler proteggere il sistema.

Per cambiare i permessi e verificarli, nella pratica, potete farlo con il vostro client FTP come FileZilla oppure, se vi sentite eroici temerari, anche via SSH. In pratica selezionate una ad una le directory ed andate ad impostare i permessi solo per i file e solo per le directory, consecutivamente, come mostrato nelle screen seguenti. Le riporto per wp-admin ma, in realtà, vale per wp-content e per wp-include (oltre che per la root del sito /) in maniera equivalente.

Screen 2014-11-08 alle 12.00.07 Screen 2014-11-08 alle 11.59.45

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Se avete problemi con gli aggiornamenti automatici, idem: la guida ufficiale suggerisce di impostare

  1. 0644 per i file;
  2. 0755 per le directory

il che coincide nella pratica con quanto visto all’inizio, se non fosse per il fatto che stiamo impostato esplicitamente a 0 il valore dello special bit. Replicate pazientemente questa impostazione su tutti i file e le cartelle di WP (dopo aver sloggato tutti gli utenti voi compresi come admin), e poi controllate che sia tutto a posto facendo un giro nel sito, sia frontend che backend.

Tenete conto che alcuni problemi non dipendono da voi ma da come è stato impostato il vostro server, per cui chiedete all’hosting per maggiori delucidazioni cercando di essere sempre molto, molto specifici nella notifica dell’errore (del tipo, e lo scrivo con l’esperienza di chi lavora da anni a contatto con le realtà dell’hosting italiano: non aprite ticket con richieste generiche “non mi funziona il sito”, “mi da’ errore” ecc. perchè vengono di solito ignorate, o ricevono risposte evasive).

Può essere interessante leggere uno degli approfondimenti proposti di seguito.

 

Valutazioni utenti

4.86 / 5 ( 98% )

7 voti