mercoledì 26 settembre 2007

Di ritorno dal Think Open

Tux Oggi mi son fatto un bel giretto a Rovigo insieme a Nick e a Marcone (un grazie a Marcone e a Fullo per gli inviti) per partecipare al Think Open 2007, manifestazione su tutto ciò che riguarda il software libero.
Oltre ai vari stand presenti (che abbiamo visitato), erano presenti vari interventi su svariati temi. In particolare ho seguito:
  • WEB 2.0: il futuro dei siti web e del PHP, incontro con Zeev Suraski Chief Technology Officer and Co Architect PHP.
  • SugarCRM Italian User Conference
  • Software Patents e GPL3 (presenti Richard Stallmann e Ciaran O'Riordan della Free Software Foundation!!!)
Come avete capito, le personalità famose non mancavano (incontrare uno dei due creatori del php che nel 1997 partorirono php 3 poi è stato grandioso...)
E le conferenze...tutte in inglese :-D Però si capiva bene. Allo stand della Zend mi hanno anche dato una versione per 30 giorni dell'ultimo Zend Studio...appena ho tempo lo installo e poi posto le mie impressioni.

Vi lascio con un pensiero esposto dal Prof. Renzo Davoli durante l'intervento "Software Patents"(io l'ho riadattato, non è che me lo ricordo a memoria :-P):
Vi immaginate se dovessimo pagare i diritti di un teorema matematico ogni volta che lo usiamo? Il software è scienza e cultura universale, e come tale deve essere libero.

sabato 22 settembre 2007

Creare una shell remota su linux "on the fly"

Vediamo un veloce tips su come creare shell remote su un sistema linux.
Ipotizziamo di riuscire ad eseguire un comando su una macchina remota (buffer overflow, vulnerabilità web...):

nc -vv -l -p 10000 -e /bin/sh

Questo comando utilizza netcat, il coltellino svizzero del tcp/ip (come viene chiamato). Non fa altro che rimanere in ascolto (-l) sulla porta 10000 (-p) ed eseguire un comando (-e). In questo caso, esegue una shell di comando. Inutile dire che se eseguito come root, avrete da remoto i diritti dell'amministratore...
Per provarla, basta collegarsi da un'altro computer (o dallo stesso se volete testarlo in locale, aprite un'altra scheda nel terminale) e digitare:

nc -vv localhost 10000

Il (-vv) è il very verbose, utile ma non indispensabile. Certo, la shell è molto stupida (non ha colori; non riesce a ricevere input dopo l'esecuzione del comando, ad esempio premere la barra durante il comando more). Però funziona ;-)

Contromisure: creare delle regole iptables che mantengano tutte le porte esterne chiuse (tranne quelle usate dai servizi indispensabili: la 80 per un server web ad esempio, rimarrà aperta).
E' anche possibile creare uno script (eseguibile periodicamente via cron) che controlli le connessioni aperte. Per visualizzarle infatti è disponibile il comando:

netstat -an

In questo modo è possibile controllare le socket connected e listen ;-)

PS: dopo aver terminato la prima connessione alla shell remota, quest'ultima si chiuderà. Per far si che rimanga aperta, bisogna creare uno script apposito...google docet ;-)

giovedì 13 settembre 2007

Ubuntu: clonare una partizione

Quando all'inizio di luglio ho deciso di usare ubuntu sul computer fisso (quindi come OS unico), ho utilizzando un vecchio disco da 20 giga. Ieri mi son preso un bel hard disk da 160 :) e ho avuto la necessità di trasferire tutto il sistema da un disco all'altro, ma non potevo clonarla perchè i disci sono di capacità diversa!
Fortunatamente, Chuck Norris mi ha fatto notare che potevo risolvere in due modi:
1) lui guardava male i due dischi e automaticamente si copiavano
2) potevo usare Knoppix 5.11 che al suo interno ha gparted, che con un click col tasto destro permette di copiare una partizione su un altro disco...e poi di ridimensionarla!
Inutile dire che ho usato la seconda opzione, Chuck aveva troppo da fare (sta cercando Mastella per ucciderlo, dice che è buono con il sugo con le cozze) e mi ha salutato con un calcio volante girato nella faccia.
Amo linux...una cosa che nel mondo windows si fa pagando fior di soldi (Norton Ghost + Partition Magic) io l'ho fatta senza spendere un euro e in 22 minuti...

sabato 8 settembre 2007

Ubuntu: Samba senza password


Una delle cose comode di Ubuntu è l'avere la condivisione cartelle facilmente accessibile (Sistema - Amministrazione - Cartelle condivise). Purtroppo però nativamente richiede all'accesso a queste cartelle un nome utente e una password. Collegandosi tramite un MAC questo si può evitare imponendo utente e password vuoti. Da un sistema Windows invece non è possibile entrare in maniera semplice, poichè impone un nome utente (windows non accetta che mettiate vuoto l'utente per accedere ad una cartella condivisa).
Una soluzione (un po' scomoda e lunga) è quella di creare un account utente samba (ci sono migliaia di tutorial in rete per questo), ma non è quello che ho intenzione di spiegare.
La password sinceramente in una rete casalinga mi dà solo problemi...
Per far si che anche Ubuntu somigli ad una semplice condivisione Windows, cioè SENZA RICHIESTA DI PASSWORD, digitiamo da terminale:

sudo gedit /etc/samba/smb.conf

e aggiungiamo nelle global settings (sotto la voce [global])

security = share
guest only = yes

A questo punto salviamo il tutto e riavviamo il demone samba:

sudo /etc/init.d/samba restart

Adesso accedendo da un windows alle risorse di rete, finalmente si vedono le cartelle della mia Ubuntu senza immissione di password...comodità assurda!

mercoledì 5 settembre 2007

Netbeans e Beryl: convivenza difficile?


Netbeans è a mio avviso uno dei migliori IDE in circolazione per il linguaggio Java (non sono un fan di Eclipse).
Ne faccio un uso spropositato durante i miei lavoretti in Java: fatto sta che ultimamente la combinazione Netbeans + Beryl dà come risultato una bella finestra vuota, completamente grigia al posto dell'IDE.
Già avevo notato come Beryl ci mettesse lo zampino...disattivandolo e riattivandolo risbucava fuori come per magia tutta la visuale di Netbeans.
Però volevo un metodo più scientifico :-) Mi son messo a cercare su internet...ed ecco trovata la soluzione! E' un noto bug di beryl + java...


sudo gedit /etc/environment


e aggiungiamo la riga:


export AWT_TOOLKIT=MToolkit



Salvare e riavviare (in teoria il server X, io per comodità ho proprio fatto un reboot).
In attesa che sistemino il bug, questo metodo con me ha funzionato :-D

martedì 4 settembre 2007

Gnome: thumbnails (miniature) obsolete

Mi è capitato per la seconda volta di scaricare le immagini dalla fotocamera digitale al mio PC ubuntu. La prima volta erano foto di mia mamma (che fa la maestra elementare); la seconda volta, dopo una formattazione della scheda XD, sono foto della vacanza in montagna.
Ubuntu monta in automatico la fotocamera, vado nella cartella delle foto pronto a fare copia e incolla...e cavolo vedo che dentro la fotocamera CI SONO LE FOTO DI MIA MAMMA ALLA SCUOLA??
Chissà cosa vado a pensare...formattazione fatta male...o cosa? Incuriosito clicco su una foto...e il visualizzatore invece che cartelle e astucci (come da anteprima) mi mostra il paradisiaco paesaggio montanaro!!

TUTTA COLPA DELL'ANTEPRIMA!!

Felice per lo scampato pericolo, sono voluto andare a fondo nella faccenda. Nautilus (il gestore files di Ubuntu sotto Gnome) salva le anteprime in una cartella dell'utente:

/home/stefano/Desktop/Home/.thumbnails/normal

in particolare usa un procedimento secondo me SBAGLIATO: a quanto ho capito, crea miniature solo in base al percorso+nome del file (ad esempio, fa md5("/home/stefano/immagine.png") e le mette nella cartella miniature.
Io però nella fotocamera, collegandola in due momenti diversi dopo la formattazione della schedina, posso avere immagini con lo stesso percorso ma contenuto ben diverso...
Perchè purtroppo non hanno pensato a questa eventualità? Ad esempio, potrebbero aggiungere alla funzione hash la dimensione del files..
Se invece è così...ho avuto la sfiga di avere percorso+dimensione esattamente identici...ma per 100 foto? Mi sembra strano...100 collisioni...

E non bastava cliccare su "Aggiorna", ho dovuto eliminare tutte le miniature! Chiaramente ricreandole questa volta erano giuste, non quelle vecchie...
Ohibò...ho trovato un bug di Gnome :-D


Lasciatemi commenti con la vostra esperienza please :-)

EDIT: ho creato un nuovo post con una descrizione dell'applicazione Corydoras, nata appositamente per aiutare l'utente nel tenere sotto controllo le miniature!! E i miei complimenti al creatore di questo utile programmino :-D

lunedì 3 settembre 2007

15 ottobre: un post sull'ambiente

Ho deciso che anche io, come tanti altri, scriverò un post sull'ambiente il 15 ottobre. Ne approfitto per mostrare qualche dettaglio dell'iniziativa: il sito ufficiale
Questo è uno dei tanti banner:

Ma soprattutto, vi mostro il video


Inutile dire che l'ambiente per me è importante...consiglio vivamente a tutti i miei amici bloggers che facciano altrettanto :-D

sabato 1 settembre 2007

OnTV: la guida TV di Gnome

Che chicca che ho trovato girovagando in un blog! Una applet Gnome (come tale si può aggiungere a un pannello gnome) che mostra in tempo reale il palinsesto delle reti televisive...
Ho pensato subito: beh, però magari l'italia non c'è...e invece c'è, anche con parecchi canali.
Il risultato è fenomenale...

Installazione? Semplicissima: sudo apt-get install ontv. Dopo l'installazione va aggiunta ad un pannello (click destro su un qualsiasi pannello Gnome -> Aggiungi al pannello -> OnTv, lo trovate giù negli Accessori). A questo punto inizia la configurazione...selezionate la nazione e successivamente i canali televisivi che vi interessano.
Così adesso se sono a computer e qualcosa che mi interessa inizia lo vedo al volo...