Plugin di WordPress per la gestione degli utenti

Nuovo plugin da Justin Tadlock per la gestione avanzata dei permessi utenti nella propria installazione di WordPress: se dovete gestire in modo più preciso ruoli e capacità dei vostri utenti e degli autori del blog, se vorreste creare nuove figure tra i ruoli standard, se vorreste permettere la lettura anche di parti di un post solo ad alcuni utenti, questo strumento fa per voi. Il plugin è in pieno sviluppo e avrà ancora tante funzioni in più. Ottimo per dirigere WordPress su una gestione più simile a un CMS classico. Tutti i dettagli sul post dell’autore.

Cambiare i permessi a file e directory ricorsivamente

Abbiamo mille file e cento cartelle cui dobbiamo cambiare i permessi? Ecco come farlo senza difficoltà col terminale.

Con l’operazione effettuata ieri, ho guadagnato un sacco di spazio dove poter mettere una serie complessa (ma rigorosamente ordinata) di directory e file. Questa serie l’ho prelevata da un vecchio backup su un disco fisso esterno e tutti i permessi erano in 777. Di ripristinare da GUI i permessi corretti non se ne parlava proprio (sono diventato molto pigro, ultimamente…) per cui mi sono cercato il modo per farlo da terminale.

I permessi dovevano essere 755 per le directory e 644 per i file. Il comando

chmod 755 -R *

non fa distinzione tra file e directory e cambia indistintamente i permessi a ogni cosa; neanche la sintassi

chmod 644 -R *.txt

ci aiuta perché si ferma solo alla directory dove viene eseguito. Probabilmente con una pipe si potrebbe fare, ma non ho approfondito 1.

Il comando che mi ha aiutato in una frazione di secondo è find (da GUI avrei impiegato qualche ora). Nelle pagine di manuale addirittura è riportato espressamente il comando che serve in questo caso:

find . -type f -exec file '{}' ';'

che nel mio caso diventa

find . -type f -exec chmod 644 '{}' ';'

Vediamo di capire cosa stiamo dicendo al sistema:

trovami (find) in questa directory (.) 2 tutti gli oggetti di tipo file (-type f) quindi esegui il comando (-exec) chmod 644 a ciò che hai trovato ('{}' ';') 3.

Per le directory il comando cambia in questo modo:

find . -type d -exec chmod 755 '{}' ';'

Io rimango sempre meravigliato della potenza del terminale, non so voi…

Note

  1. Magari Shaytan di Linux e dintorni ci saprebbe dire di più
  2. E find va anche nelle sottodirectory.
  3. Da notare le virgolette singole che forzano il sistema a non interpretare quei simboli come punteggiatura. Il punto e virgola finale chiude gli argomenti per il comando eseguito (MARKDOWN_HASH417e248f80c35ca0d471575a5fb951f5MARKDOWN_HASH). Si potrebbe usare al posto delle virgolette anche il backslash, per cui il comando verrebbe:
    find . -type f -exec chmod 644 \{\} \;
    Come mi aspettavo, alcuni lettori del blog hanno inviato nei commenti altri metodi per fare la stessa cosa. Li riporto qui e li ringrazio per il prezioso contributo:

    • fazen suggerisce:
      find . -type f -print0 | xargs -0 chmod 644
      find . -type d -print0 | xargs -0 chmod 755
    • CDF suggerisce:
      chmod -R a=rw,go=r,+X .

Aggiornare WordPress in automatico su server Aruba Linux

wordpress-logoIn una chiacchierata col mio amico Fabrizio, vengo a sapere di un fastidioso e sicuramente allarmante problema per qualcuno se si esegue un aggiornamento automatico verso WordPress 2.7 su server Aruba Linux. In sostanza, solo se si esegue un aggiornamento automatico, si andrebbe incontro all’impossibilità di usare il blog finché non si ripristinano i permessi corretti ai file e alle directory. Infatti, il motore di aggiornamento automatico imposta i permessi delle directory a 755 mentre quelli dei file a 644: sono proprio questi ultimi permessi (644) a causare il blocco.

Chi conosce Aruba sa che può ripristinare i permessi corretti ai file e alle cartelle direttamente dal pannello di gestione, ma gli autori di WordPress, venuti a conoscenza del fatto (come spiegato qui e qui), hanno implementato due nuovi comandi per evitare alla radice il problema, in attesa di una soluzione migliore forse già nella prossima 2.7.1.

È sufficiente aprire il file wp-config.php e aggiungere queste righe:

define('FS_CHMOD_FILE,0755);
define('FS_CHMOD_DIR',0755);

forzando così il motore di WordPress a impostare i permessi dei file a 755 (come anche quelli delle directory). In questo modo dovrebbe essere possibile aggiornare WordPress in automatico: dico “dovrebbe” perché ho sempre aggiornato manualmente per controllare quello che avviene.