8 dicembre 2013

Mandela e la mia ignoranza

No, tranquilli, non è che penso che "I have a dream" sia una sua frase simbolo. La mia ignoranza è diversa dalla sua.
Però la celebrazione per la morte di Mandela, mi fa riflettere sul fatto che anche la mia ignoranza è alquanto profonda, sebbene non abissale.
Cosa so io veramente di Mandela?
Sostanzialmente nulla che non siano idee confuse e fatti vaghi.
Ricordo che fu un attivista anti-apartheid, che subì una lunga incarcerazione per reati correlati alla sua attività politica. Che è diventato un simbolo di questa lotta, che una volta uscito di prigione andò al potere mettendo fine al dramma della segregazione razziale coatta in sud africa. Più interessante ancora ricordo che ha combattuto anche contro il razzismo di ritorno che si verifica spesso quando l'oppresso esce da questa situazione e sogna di poter diventare oppressore a sua volta, non per razzismo, ma per senso di rivalsa.
Lo ricordo come un uomo carismatico nei suoi discorsi e come una persona veramente di pace, non come una bestia feroce che ha lottato contro un potere opprimente così a lungo da diventare peggio di ciò contro cui ha lottato.
Lo so collocare storicamente e geograficamente in modo corretto, e a grandi linee ricordo la sua "presenza culturale" negli ultimi 15 anni circa.

Va bene, sì...circa ci possiamo pure essere, ma...chi cazzo è Mandela?
Un uomo non è questo...così ho tratteggiato forse migliaia di oppositori politici, che magari non hanno raggiunto il suo livello di potere, ma hanno vissuto un percorso analogo nello stesso periodo.
Ricordo qualche cosa di Mandela che è proprio sua, però non basta.

Ieri sono inciampato in un tweet che citava Lenin e che mi ha fatto riflettere. Il passaggio del Vladimir Ilic è il seguente:

"Le classi dominanti hanno sempre ricompensato i grandi rivoluzionari, durante la loro vita, con implacabili persecuzioni; la loro dottrina è sempre stata accolta con il più selvaggio furore, con l’odio più accanito e con le più impudenti campagne di menzogne e diffamazioni. Ma dopo morti, si cerca di trasformarli in icone inoffensive, di canonizzarli per così dire, di cingere di una certa aureola di gloria il loro nome, a "consolazione" e a mistificazione delle classi oppresse. Si svuota di contenuto il loro pensiero rivoluzionario, se ne smussa la punta, lo si svilisce. La borghesia e gli opportunisti in seno al movimento operaio si accordano oggi per sottoporre il marxismo a un tale trattamento".


Da queste parole alcune considerazioni. Su tutte il fatto che Lenin le sapeva tutte (e chi ne dubita, a torto, smetterà di farlo dopo aver letto cotanta sua citazione: "Se gli operai tedeschi volessero occupare una stazione, prima, bravi bravi, comprerebbero il biglietto.") . Oh, cazzo, ma proprio tutte..sì, perché il passaggio è tratto da "Stato e Rivoluzione" del 1917, quindi ha circa 100 anni, ma come aveva capito bene il potere lui e come aveva saputo spiegarlo è così profondo che il potere, in un secolo, non ha saputo riformarsi neppure nell'apparenza o nella forma.
La seconda, più a tema è: ma io conosco il Mandela "rivoluzionario", il Mandela presidente, il Mandela personaggio pubblico o il Mandela che il potere ha voluto farmi conoscere.
La differenza principale con quanto descritto da Lenin è che Mandela ha vinto la sua battaglia rimanendo in posizione visibile a lungo. Il potere, dunque, si è dovuto riassettare con lui ben prima della sua morte. E lo stesso Mandela ha dato una visione della sua vita, ma l'ha data dalla posizione in cui era una volta arrivato al potere.

Ma che cazzo, era un pacifista a tutto tondo o da co-fondatore dell'Umkhonto we Sizwe si era un po' rotto il cazzo di farsi prendere a calci nelle palle dal potere e cominciava ad aver voglia di restituirne qualcuno? Era un santo o era più semplicemente un uomo che aveva valutato le opportunità di un braccio di ferro rispetto a quelle di un confronto pacifico e si era fatto delle domande, dandosi delle risposte?

Alcune cose, per fortuna le so...o forse mi illudo di saperle. Non è di lui in particolare che voglio parlare, ma della mia ignoranza, che probabilmente è anche la vostra. 
Biografie di persone che hanno fatto la storia conosciute per sommi capi, spogliate dei dettagli che fanno la differenza (e ovviamente di quelli che sono veramente solo dettagli), sono biografie vere, sono significative o sono quelle che il potere ci dà per ammansirli post-mortem?

Per dirne alcuni dei più visibili: Malcom X è un personaggio molto più controverso di quanto non si pensi, e Martin Luther King è molto più complesso di un discorso. E Lenin stesso? Un uomo immenso, in tutte le direzioni (non solo quelle positive, intendiamoci) ricordato dai più come un nome lontano privato della sua carica rivoluzionaria e lasciato come simbolo di un fallimento, spauracchio per i bambini e per i politici non allineati ad un nostro (per fortuna) ex presidente del consiglio. 
E Iqbal Masih? Sembra più un mito che un bambino morto. Sembra l'emblema di ciò che dice Lenin: 
un'icona senza corpo, una rivoluzione smussata nel pressapochismo e, nella sostanza, una punta smussata, seppur tramite la venerazione. 
Ovviamente potrei approfondire, ma, altrettanto ovviamente, non posso approfondire tutto. Alcuni di questi (e altri) personaggi li ho approfonditi, ma quanti li ho approfonditi valutando le fonti? Quanto tempo mi richiederebbe approfondirli tutti?


Della Birmania, dell'Ucraina, della Russia, della Korea del Nord, della Somalia...che cazzo ne so? E tu che leggi che ne sai? Personaggi trattati con superficialità passano sugli schermi...ma non è la televisione il male. I media in generale: giornali, radio, Internet; offrono visioni ammansite di problemi lontani. 

Non potrebbe essere altrimenti, ma il dubbio di star ascoltando ciò che il potere vuole raccontare rimane...
...e rimarrà sempre sin quando si confondono le idee con le persone e si sente la necessità di mitizzare i portabandiera per non abbandonare l'idea che, magari in modo imperfetto, portano avanti.

Read more

3 dicembre 2013

ProFTPd

Dopo secoli torno a parlare di tecnologia e lo faccio nel modo più classico del mondo: sono inciampato in un argomento apparentemente banale, in realtà spinoso. Uscitone vittorioso, ne condivido il percorso, per la gioia di grandi e piccini.

Task: installare un server FTP su una macchina linux e configurarlo per degli accessi da utenti specifici.
Livello di banalità apparente: 10/10
Sbatti reale: 1000

La prima cosa è scegliere quale server installare. La macchina ha su Debian e la scelta si gioca principalmente fra ProFTPd, PureFTPd e vsftpd. Qui un breve confronto fra i tre concorrenti.
Per ragioni che non sto a sviscerare scelgo ProFTPd.

NOTA BENE: questa non è una guida alla configurazione sicura e ottimizzata del serer proFTPd e non intende esserlo, ma è solo una guida veloce a come risolvere dei problemi comuni senza perdere ore su internet e vagare per mille pagine di manuale, dando invece una visione organica e funzionale in pochi minuti.

L'installazione è banale come un semplice

apt-get install proftpd-basic

Un attimo e siamo online...e invece? E invece scegliendo per un server gestito da xined invece che standalone ci si butta in un piccolo delirio che non vale la pena di affrontare: le risorse occupate sono oggettivamente così poche che vale la pena tenerlo acceso e risparmiarsi lo sbatti.
Quindi, nella configurazione ( /etc/proftpd/proftpd.conf ) bisogna assicurarsi di avere la riga:

ServerType                      standalone

E con questo, magia, parte.
Primo accesso con un utente di sistema e tutto funziona. Ma come si arginano gli utenti a non andare in giro a curiosare per il mondo?
La cara vecchia impostazione dei permessi potrebbe pure essere una strada, ma non è praticabile, perchè significa precludere agli utenti locali di girovagare per il sistema. Quindi?
Quindi la risposta è in questa riga nel file di conf:

DefaultRoot ~

Ossia gli utenti si trovano ad avere la loro home ( ~, appunto, per chi non ha dimestichezza) come root, durante il loro accesso ftp. Da lì non si esce. Ci sono degli effetti collaterali, in questo, che sono ben spiegati in questa pagina sul chroot.

Per riavviare il server basta il solito:

/etc/init.d/proftpd restart

Fatto?
No, a meno che non vogliate creare un utente di sistema per ogni utente ftp, cosa che a volte va bene e a volte no.
Qui parte uno sbatti facile, ma lungo e articolato, se non ci avete mai avuto a che fare.

Step 1: abilitare l'autenticazione su un file alternativo

Nel file di conf deve essere aggiunta una riga come questa:

AuthOrder                       mod_auth_unix.c mod_auth_file.c

dove mod_auth_file.c indica che proFTPd può leggere i dati di autenticazione dell'utente in un file ad hoc separato da quello delle password di unix/linux. Qui si può leggere un approfondimento, che parla anche della questione del chroot discussa prima.
L'ordine conta e quindi prima il server usa mod_auth_unix.c (verifica fra gli utenti di sitema), poi in un file esterno.
Ma quale file?

Step 2: indicare il file alternativo di autenticazione

Semplice, si fa con questa riga:

AuthUserFile /etc/proftpd/vusers.conf

si indica dov'è il file in questione. Il path è arbitrario, come il nome file. Meglio scegliere un percorso fuori dal path raggiungibile/visibilie/modificabile dagli utenti. Nel mio caso l'ho messo nella stessa cartella del file principale di configurazione.
Il file deve essere esistente e leggibile, ma può anche essere vuoto.

Step 3: popolare il file per gli utenti virtuali

Un file di utenti vuoto serve a poco. Il modo più facile per popolarlo è usare il comando ftpasswd.
Per usarlo basta scrivere nella shall:

ftpasswd --passwd --file=/etc/proftpd/vusers.conf --name=myuser --uid=15000 --home=/path/to/home --shell=/bin/sh

Il comando chiede la password da assegnare al'utente e ne mette una hash nel file selezionato, alla riga dell'utente. Se l'utente esiste già propone di modificare la password, altrimenti appende una nuova riga per il nuovo utente al file.

Dove --file indica il path al file indicato nel file di cofigurazione di proFTPd, e --uid è un qualunque uid (user ID, per i neofitissimi), anche inventato. Si può specificare anche un group id che, se omesso, è di default uguale all'uid.

La home per l'utente non viene creata, quindi deve essere un path esistente (non necessariamente subito, ma al primo accesso). La shell ha usi speciali che non interessano adesso, ma deve essere una shell esistente, quindi /bin/sh è la scelta di comodo.

Se volete che l'utente entri con lo stesso utente con cui gira apache, quindi possa leggere e scrivere in una cartella da cui legge e scrive una web-app, basta indicare lo uid di quell'utente. Per esempio, su debian/ubuntu l'utente è www-data, nel fail /etc/passwd c'è una riga relativa all'utente www-data ad cui si può prendere lo uid assegnatogli.
Stessa cosa per qualunque altro utente, se volete evitare la configurazione di dettaglio dei permessi.

ATTENZIONE: non mettete un utente virtuale con la home in una cartella in cui può fare danni. Per girare intorno al problema create nella webapp un link alla home dell'utente. In questo modo la webapp accede con percorsi relativi alla cartella ftp, ma non viceversa.


The END!
A questo punto è tutto configurato, e basta un semplice riavvio del server per vedere tutto funzionare. Volendo si può riavviare già alla fine dello step 2, dal momento che il contenuto del file degli utenti è letto dinamicamente al login.

Note di sistema
Mentre tutto va beatamente liscio usando debian/ubuntu, centOS riserva, tanto per cambiare, le sue piccole e fastidiose sorprese.
Prima fra tutte, il pacchetto proftpd NON è disponibile di default con yum.
Per usarlo bisogna seguire questi semplici step (presi in prestito dai tutorial di Digital Ocean, visto che decine di alternative simili che si trovano online non funzionano e si rischia di perdere ore alla ricerca del repository giusto...e non imbarcatevi nel download degli rpm, perchè le dipendenze sono più forti di quelle di un tossico allo stadio terminale), che sono però duri da trovare online:


rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

e magicamente ci appare il pacchetto...ora si può pacificamente fare:

yum install proftpd

Inutile dire che la struttura dei file di configurazione cambia, ma il senso no. Banalmente proftpd.conf non è più in /etc/proftpd ma direttamente in /etc. Fossero questi i problemi....


Enjoy ;)











Read more