<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>opuntia.biz</title>
	<atom:link href="http://opuntia.biz/feed/" rel="self" type="application/rss+xml" />
	<link>http://opuntia.biz</link>
	<description>Piccoli appunti per grandi appassionati di sistemi open source ...</description>
	<lastBuildDate>Thu, 31 May 2012 07:51:52 +0000</lastBuildDate>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='opuntia.biz' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>opuntia.biz</title>
		<link>http://opuntia.biz</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://opuntia.biz/osd.xml" title="opuntia.biz" />
	<atom:link rel='hub' href='http://opuntia.biz/?pushpress=hub'/>
		<item>
		<title>Crontab</title>
		<link>http://opuntia.biz/2012/02/28/crontab-2/</link>
		<comments>http://opuntia.biz/2012/02/28/crontab-2/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:31:25 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2349</guid>
		<description><![CDATA[Per avviare il programma occorre digitare in una finestra terminale: crontab -e Ora è possibile inserire i comandi di cui si vuole pianificare l&#8217;azione 00 05 04 12 01 "comando" Cosa significa? 00 sono i minuti 05 è l&#8217;ora di esecuzione (quindi avremo l&#8217;esecuzione (programmata per le 05.00 del mattino) 04 è il giorno 12 <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2349&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
Per avviare il programma occorre digitare in una finestra terminale:</p>
<p>
<code>crontab -e</code></p>
<p>
Ora è possibile inserire i comandi di cui si vuole pianificare l&#8217;azione</p>
<p>
<code>00 05 04 12 01 "comando"</code></p>
<p>
Cosa significa?
<ul>
<li>00 sono i minuti</li>
<li>05 è l&#8217;ora di esecuzione (quindi avremo l&#8217;esecuzione (programmata per le 05.00 del mattino)</li>
<li>04 è il giorno</li>
<li>12 è il mese</li>
<li>01 è il giorno della settimana (i valori sono 0,1,2,3,4,5 e 6 con lo 0 che si riferisce alla Domenica)</li>
<li>e poi viene indicato il comando da eseguire</li>
</ul>
<p>
Quindi in questo esempio, quindi, si sta dicendo a crontab di eseguire il lunedì 4 dicembre alle ore 05.00 (di ogni anno), un certo comando. Se si vuole impartire l&#8217;esecuzione del comando ogni mese oppure ogni giorno è sufficiente sostituire ai numeri un asterisco</p>
<p>
<code>00 08 * * 01 "comando</code></p>
<p>
È utile ricordare alcune opzioni del crontab
<ul>
<li>crontab -l visualizzerà i crontab in funzione (utile per vedere se un comando è stato registrato correttamente)</li>
<li>crontab -r rimuove tutti i crontab registrati</li>
<li>crontab -d da non fare mai perché questo comando cancella i job programmati (anche del sistema)</li>
<li>crontab -e permette di editare (scrivere o modificare) un crontab</li>
</ul>
<p>
<code>cron</code> si può configurare tramite il file crontab, come abbiamo visto ne esiste uno per ogni utente, con il quale può eseguire comandi su file di sua proprietà nel proprio user-space, ed è situato solitamente in</p>
<p>
<code>/var/spool/cron/crontabs/nomeutente</code></p>
<p>
Per completezza, sappiate che esiste poi il file <code>/etc/crontab</code> nel quale sono presenti solitamente operazioni periodiche che riguardano globalmente il sistema. Di solito molte distribuzioni includono le directory <code>/etc/cron.daily</code>, <code>/etc/cron.monthly</code>, <code>/etc/cron.weekly</code>, <code>/etc/cron.hourly</code> che contegono gli script che si avvieranno rispettivamente ogni giorno, ogni mese, ogni settimana e ogni ora.</p>
<p>
Quindi basta posizionare i propri script dentro queste directory per programmarne l&#8217;esecuzione.</p>
<p>
Sull&#8217;argomento consiglio la lettura di questo libro:</p>
<p>
Per il corretto funzionamento di <code>crontab</code> occorre assicurarsi che l&#8217;ora del sistema sia corretta. Il <strong>Network Time Protocol</strong>, in sigla NTP, è un protocollo per sincronizzare gli orologi dei computer all&#8217;interno di una rete a commutazione di pacchetto, quindi con tempi di latenza variabili ed inaffidabili.</p>
<p>
L&#8217;NTP è un protocollo client-server appartenente al livello applicativo. Per sincronizzare manualmente l&#8217;orologio di sistema con quello di un server, da console, in modalità root, si può usare il comando</p>
<p>
<code>ntpdate ntp1.ien.it</code></p>
<p>
oppure</p>
<p>
<code>ntpdate ntp.ubuntu.com pool.ntp.org</code></p>
<blockquote><p>
Il tempo è come l&#8217;acqua di un fiume: noi siamo fermi sulla riva ed esso scorre verso di noi.</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2349/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2349&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/crontab-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>Come faccio a capire quale file di configurazione sta usando mysql ?</title>
		<link>http://opuntia.biz/2012/02/28/come-faccio-a-capire-quale-file-di-configurazione-sta-usando-mysql/</link>
		<comments>http://opuntia.biz/2012/02/28/come-faccio-a-capire-quale-file-di-configurazione-sta-usando-mysql/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:30:53 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2347</guid>
		<description><![CDATA[Mi è capitato di mettere le mani su una installazione &#8220;pasticciona&#8221; di MySQL. Il problema è stato che c&#8217;erano due file di configurazione apparentemente relativi al demone di MySQL /etc/my.conf e /etc/mysql/my.cnf Come si fa a capire quale dei due file è effettivamente quello usato dal demone? Usiamo il comando stat stat /etc/my.cnf ci mostrerà <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2347&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mi è capitato di mettere le mani su una installazione &#8220;pasticciona&#8221; di MySQL. Il problema è stato che c&#8217;erano due file di configurazione apparentemente relativi al demone di MySQL</p>
<p><code>/etc/my.conf</code></p>
<p>e</p>
<p><code>/etc/mysql/my.cnf</code></p>
<p>Come si fa a capire quale dei due file è effettivamente quello usato dal demone? Usiamo il comando <code>stat</code></p>
<p><code>stat /etc/my.cnf</code></p>
<p>ci mostrerà una serie di informazioni, la riga che ci interessa è quella relativa ad &#8220;Access&#8221;. Facciamo lo stesso sul file</p>
<p><code>/etc/mysql/my.cnf</code></p>
<p>Impartiamo poi il comando</p>
<p><code>/etc/init.d/mysql</code></p>
<p>per riavviare il demone di MySQL e adesso andiamo a vedere cosa è successo impartendo di nuovo i comandi</p>
<p><code>stat /etc/my.cnf | grep ^Access</code></p>
<p>e</p>
<p><code>stat /etc/mysql/my.cnf | grep ^Access</code></p>
<p>per individuare quale dei due file è stato &#8220;acceduto&#8221; ultimamente. Quello sarà il nostro file di configurazione realmente utilizzato da MySQL.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2347/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2347&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/come-faccio-a-capire-quale-file-di-configurazione-sta-usando-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>HTTP tunnel example</title>
		<link>http://opuntia.biz/2012/02/28/http-tunnel-exampe/</link>
		<comments>http://opuntia.biz/2012/02/28/http-tunnel-exampe/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:27:50 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2345</guid>
		<description><![CDATA[Most of all companies only provide a very restrictive environment. While Network and Security Adminstrators do their job, securing the enterprise network from intruders, users are trying to compromise perimeter security to get more than is allowed. Surfing the www and googling provides a huge knowledge on how to greak firewalls, proxies, anti-virus appliances and <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2345&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
Most of all companies only provide a very restrictive environment. While Network and Security Adminstrators do their job, securing the enterprise network from intruders, users are trying to compromise perimeter security to get more than is allowed. Surfing the www and googling provides a huge knowledge on how to greak firewalls, proxies, anti-virus appliances and so on.</p>
<p>
<code>httptunnel</code> creates a bidirectional virtual data connection tunneled in HTTP requests. The HTTP requests can be sent via an HTTP proxy if so desired.</p>
<p>
An already wide spread and known SSH client for Windows and Unix systems is Putty. Putty is a free available graphic tool which implements telnet and SSH.</p>
<p>
Without addressing every country&#8217;s laws, there can be sanctions and legal proceedings if using covert channels in corporate networks. Read the companies policies detailed to become familiar with. </p>
<p>
Be warned and do not use covert channels just for fun. There may be corporate agreements to tunnel data to business partners, for example.</p>
<p>
This is to ensure that nobody else can listen to your transmission of sensible enterprise information.</p>
<p>
Enterprise Side you need a Workstation with Internet access, at least one service must be allowed for outbound connections, an httptunnel client, and the SSH client.</p>
<p>
At the home: Workstation with internet access, httptunnel server with correct configuration, SSH server daemon with correct configuration and any service running which you want to access remotely.</p>
<p>
<code>hts –forward-port localhost:22 443</code></p>
<p>
or, it is the same</p>
<p>
<code> hts -F localhost:22 443</code></p>
<p>
Final step, open tunnel and connect to the SSH server. Most work is done, and the final step is to open our tunnel. So, we need to be familiar with the <code>httptunnel</code> client. The simplest way to open a tunnel is</p>
<p>
<code>htc --forward-port 12345 192.168.113.117:443</code></p>
<p>
So we say forward local port 12345 to our httptunnel server with ip 192.168.113.117 on port 443. To test, try</p>
<p>
<code>putty -P 12345 root@localhost</code></p>
<p>
or</p>
<p>
<code>ssh -p 12345 root@localhost</code></p>
<p>
More&#8230; creating your own SOCKS proxy<br />
<blockquote>
<code>htc --forward-port 12345 192.168.117.113:443</code></p></blockquote>
<p>how to open a tunnel and</p>
<p>
<code>putty -D 8080 -P 12345 root@localhost</code></p>
<p>
to connect shell.</p>
<p>
Then, I show how to use VNC for a remote administration. Configure VNC server at your server outside. Default ports for VNC are 5900/TCP and 5800/TCP.</p>
<p>
In this example I use 17 as display number, then the correct ports are 5917/TCP and 5817/TCP.</p>
<p>
<code>htc --forward-port 10001 192.168.100.200:443</code></p>
<p>
<code>putty -L 5917:127.0.0.1:5917 -X -P 10001 root@localhost</code></p>
<p>
where -L forward local port 5917 for VNC client and enable X11 forwarding with -X.</p>
<p>
Finally, how to use an SMTP server for mailing</p>
<p>
<code>htc --forward-port 54321 192.168.11.22:443</code></p>
<p>
<code>putty -L 999:smtpserver:25 -P 54321 root@localhost</code></p>
<p>
next configure your mail client to use localhost:999 as SMTP server.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2345/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2345&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/http-tunnel-exampe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>SMTP nella pausa caffè</title>
		<link>http://opuntia.biz/2012/02/28/smtp-nella-pausa-caffe/</link>
		<comments>http://opuntia.biz/2012/02/28/smtp-nella-pausa-caffe/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:26:10 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2343</guid>
		<description><![CDATA[Partiamo dall&#8217;esigenza di un amico: spedire email in automatico come risultato di uno script che fa il suo &#8220;sporco lavoro&#8221;&#8230; Sendmail? Postfix? $serverSMTP ? Che cosa scegliere insomma ? Una soluzione veloce da &#8220;tempo di pausa caffé&#8221; è ssmtp. Un ringraziamento ad Anibal Monsalve Salazar che è il mantainer del pacchetto, reperibile sul sito packages.debian.org <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2343&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Partiamo dall&#8217;esigenza di un amico: spedire email in automatico come risultato di uno script che fa il suo &#8220;sporco lavoro&#8221;&#8230;</p>
<p>Sendmail? Postfix? $serverSMTP ? Che cosa scegliere insomma ? Una soluzione veloce da &#8220;tempo di pausa caffé&#8221; è <code>ssmtp</code>.</p>
<p>Un ringraziamento ad Anibal Monsalve Salazar che è il mantainer del pacchetto, reperibile sul sito <a href="http://packages.debian.org/source/sid/ssmtp" target="_blank">packages.debian.org</a></p>
<p>Nel mio caso, vediamo come installare il pacchetto e farlo lavorare con gmail.</p>
<p><code>sudo apt-get install ssmtp</code></p>
<p>tanto per iniziare&#8230; poi configuriamo il file di testo in <code>/etc/ssmtp/ssmtp.conf</code> rigorosamente con emacs, vi, vim o altro editor da shell, vade retro GUI&#8230; </p>
<p><code>sudo vim /etc/ssmtp/ssmtp.conf</code></p>
<p>e vediamo cosa scriverci dentro</p>
<p><code>root=indirizzoemail@gmail.com<br />
mailhub=smtp.gmail.com:587<br />
AuthUser=indirizzoemail<br />
AuthPass=password<br />
UseSTARTTLS=YES<br />
</code></p>
<p>per renderlo simpatico a gmail. Adesso proviamo a vedere se si parlano&#8230;</p>
<p><code>ssmtp caroamicotiscrivo@cuji.org</code></p>
<p>adesso <code>ssmtp</code> aspetta che venga composto il messaggio nella forma canonica</p>
<p><code>To: caroamicotiscrivo@cuji.org<br />
From: indirizzoemail@gmail.com<br />
Subject: cuji tutto a posto?</p>
<p>ricetta per pane e panelle</p>
<p></code></p>
<p>Importante la linea bianca dopo il soggetto. Significa che dopo questa linea inizia il corpo dell&#8217;email. Non dovrei dirlo ma lo dico&#8230; <code>CTRL+D</code> per concludere il messaggio e dopo qualche secondo il messaggio è in viaggio verso l&#8217;ignoto&#8230; ops, i server di google.</p>
<p>Se vogliamo inserire il messaggio in un file di testo, quindi per venire a rispondere al mio amico che fa cose serie con Linux, ecco come confezionarlo</p>
<blockquote><p>
<code>ssmtp indirizzoemail@gmail.com &lt; msg.txt </code></p></blockquote>
<p>nel file ci scriviamo</p>
<blockquote><p>
<code><br />
To: indirizzoemail@gmail.com<br />
From: indirizzoemail@gmail.com<br />
Subject: accura!</p>
<p>Sembra che il server non stia funzionando, dacci na' taliata va'...<br />
</code>
</p></blockquote>
<p>Aggiungo qui dei suggerimenti di <a href="http://www.denisfrati.it/" target="_blank" title="denis frati esperto in sicurezza informatica e phishing">Denis Frati</a></p>
<blockquote><p>
si può creare il file messaggio.txt contenente le intestazioni complete<br />
<code>From: amicomio@gmail.com<br />
To: &lt;amicotuo@gmail.com&gt;<br />
Cc: &lt;pippo@paperopoli.com&gt;<br />
Cc: &lt;topolino@topolinia.com&gt;<br />
Bcc: &lt;minny@topolinia.com&gt;<br />
Subject: questo è il soggetto</p>
<p>questo è il body della mail<br />
</code></p>
<p>quindi per spedire</p>
<p><code>ssmtp -t &lt; messaggio.txt</code></p></blockquote>
<p>Denis continua ancora con</p>
<blockquote><p>
&#8230;inoltre se vuoi permettere agli utenti di usarlo inserendo il loro campo Form e non quello definito in <code>/etc/ssmtp/ssmtp.conf</code>, in tale file devi decommentare la riga <code>FromLineOverride</code> e dargli valore <code>YES</code></p>
<p><code><br />
# Are users allowed to set their own From: address?<br />
# YES - Allow the user to specify their own From: address<br />
# NO - Use the system generated From: address<br />
# togliere il commento alla riga sotto e lasciare YES così compare il<br />
From passato dall'utente<br />
FromLineOverride=YES<br />
</code></p></blockquote>
<p>
<a href="http://rcm-it.amazon.it/e/cm?t=l024c-21&#038;o=29&#038;p=8&#038;l=as1&#038;asins=190481137X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr">http://rcm-it.amazon.it/e/cm?t=l024c-21&#038;o=29&#038;p=8&#038;l=as1&#038;asins=190481137X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2343/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2343&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/smtp-nella-pausa-caffe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>Usare rsync per fare i backup</title>
		<link>http://opuntia.biz/2012/02/28/usare-rsync-per-fare-i-backup/</link>
		<comments>http://opuntia.biz/2012/02/28/usare-rsync-per-fare-i-backup/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:25:14 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2341</guid>
		<description><![CDATA[rsync è un programma per sistemi Unix che sincronizza i file e le directory da un posto ad un altro minimizzando il trasferimento dei dati, lavorando solo sulle differenze (tra i file). Un&#8217;altra caratteristica importante di questo programma, che di solito non troviamo in altri similari (dedicati cioè alla copia), è che il mirroring si <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2341&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
<code>rsync</code> è un programma per sistemi Unix che sincronizza i file e le directory da un posto ad un altro minimizzando il trasferimento dei dati, lavorando solo sulle differenze (tra i file).</p>
<p>
Un&#8217;altra caratteristica importante di questo programma, che di solito non troviamo in altri similari (dedicati cioè alla copia), è che il mirroring si svolge con una sola trasmissione in ogni direzione; eventualmente utilizzando la compressione e la ricorsione.</p>
<p>
In daemon mode (modalità come servizio) rsync è in ascolto sulla porta predefinita 873/TCP, permette di sincronizzare anche due directory locali (cioè sullo stesso computer) oppure di interagire con RSH e SSH.</p>
<p>
In quest&#8217;ultimo caso il client di rsync deve essere installato sia sull&#8217;host locale che su quello remoto.</p>
<p>
Su Ubuntu si può usare rsync come segue</p>
<p>
<code>sudo rsync -av --delete --progress /partenza /destinazione</code></p>
<p>
Opzionalmente è possibile generare un file di log, per esempio</p>
<p>
<code>sudo rsync -av --progress --delete --log-file=/home/nomeutente/Desktop/$(date +%Y%m%d)_rsync.log --exclude "/home/nomeutente/.gvfs" /home /media/HomeBackup</code></p>
<p>
In questo caso viene esclusa la directory relativa a GVFS . Il parametro <code>-a</code> preserva i permessi dei file, mentre <code>v</code> attiva la modalità “verbose” (dettagliata) restituendo a terminale una serie di informazioni su come progredisce l&#8217;attività del programma.</p>
<p>
<code>--progress</code> aggiunge ulteriori informazioni sulla progressione dell&#8217;attività del programma</p>
<p>
Il parametro <code>--delete</code>, invece, controlla i cambiamenti tra sorgente e destinazione e cancella dalla destinazione i file che sono stati cancellati nella sorgente. </p>
<p>
<code>--exclude</code> è comodo perché consente di evitare la copia di particolari directory o di singoli file</p>
<p>
Per automatizzare le copie da una sorgente verso una destinazione torna comodo l&#8217;uso di uno script da lanciare mediante <code>crontab</code>. Questo un esempio</p>
<p>
<code>#!/bin/bash<br />
sudo rsync -av --delete --progress /partenza /destinazione</code></p>
<p>
Lo script deve avere i permessi di esecuzione opportuni, quindi</p>
<p>
<code>chmod +x copie.sh</code></p>
<p>
Il cronjob potrebbe essere impartito come segue</p>
<p>
<code>sudo crontab -e<br />
0 22 * * * /root/copie.sh</code></p>
<p>
dove 0 = il minuto zero 22 = le ore 22 (nel formato h24 le ore vanno da 0 a 23) il primo asterisco = rappresenta il giorno del mese (da 1 a 31) il secondo asterisco = rappresenta il mese (da 1 a 12) il terzo asterisco = rappresenta il giorno della settimana (da 0 o 7 rappresenta la domenica, 1 è lunedì e così via…), infine viene dato il percorso assoluto del comando (come lo “vede” l&#8217;utente che esegue il cronjob).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2341/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2341&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/usare-rsync-per-fare-i-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>Remote desktop management</title>
		<link>http://opuntia.biz/2012/02/28/remote-desktop-management/</link>
		<comments>http://opuntia.biz/2012/02/28/remote-desktop-management/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:24:24 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2339</guid>
		<description><![CDATA[Per aprire una sessione di desktop remoto rdesktop -a 16 sigma:3011 Per aprire la sessione stabilendo la dimensione dello schermo rdesktop -u -p -g 800x600 -a 16 -D -z -P &#60;nomeserver / IPAddress&#62; apre una sessione chiedendo l&#8217;autenticazione con nome utente e password stabilisce la profondità di colore a 16 bit nasconde le decorazioni della <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2339&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
Per aprire una sessione di desktop remoto</p>
<p>
<code>rdesktop -a 16 sigma:3011</code></p>
<p>
Per aprire la sessione stabilendo la dimensione dello schermo</p>
<p>
<code>rdesktop -u  -p  -g 800x600 -a 16 -D -z -P &lt;nomeserver / IPAddress&gt;</code></p>
<ul>
<li>apre una sessione chiedendo l&#8217;autenticazione con nome utente e password</li>
<li>stabilisce la profondità di colore a 16 bit</li>
<li>nasconde le decorazioni della finestra</li>
<li>abilita la compressione RDP</li>
</ul>
<p>
Lanciare una GUI remota usando SSH</p>
<p>
<code>ssh -C -X user@remotehost gui_command</code></p>
<p>
dove
<ul>
<li><code>-C</code> abilita la compressione</li>
<li><code>-X</code> abilita l&#8217;inoltro su X11</li>
</ul>
<p>
Provare anche con </p>
<p>
<code>ssh -fY user@host gui_command</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2339&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/remote-desktop-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>Liste, tuple e dizionari</title>
		<link>http://opuntia.biz/2012/02/28/liste-tuple-e-dizionari/</link>
		<comments>http://opuntia.biz/2012/02/28/liste-tuple-e-dizionari/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:23:49 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2337</guid>
		<description><![CDATA[Una lista, in Python, è una sequenza ordinata di oggetti. È una variabile &#8220;speciale&#8221; che può assumere più valori contemporaneamente. listadellaspesa=['dentifricio','carta igienica','sapone per lemani','prosciutto','salame'] Il comando print listadellaspesa restituisce l&#8217;elenco riportato più sopra. Esistono molte funzioni interessanti legate alle liste: append che inserisce un nuovo elemento in coda alla lista listadellaspesa.append('deodorante') del che invece rimuove <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2337&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
Una lista, in Python, è una sequenza ordinata di oggetti. È una variabile &#8220;speciale&#8221; che può assumere più valori contemporaneamente.</p>
<p>
<code>listadellaspesa=['dentifricio','carta igienica','sapone per lemani','prosciutto','salame']</code></p>
<p>
Il comando</p>
<p>
<code>print listadellaspesa</code></p>
<p>
restituisce l&#8217;elenco riportato più sopra. Esistono molte funzioni interessanti legate alle liste:</p>
<p>
<strong><code>append</code></strong> che inserisce un nuovo elemento in coda alla lista</p>
<p>
<code>listadellaspesa.append('deodorante')</code></p>
<p>
<strong><code>del</code></strong> che invece rimuove un elemento</p>
<p>
<code>del listadellaspesa[2]</code></p>
<p>
rimuove il terzo elemento della lista (in Python si conta a partire da &#8220;0&#8243;)</p>
<p>
<strong><code>sort</code></strong> che riordina una lista</p>
<p>
<code>listadellaspesa.sort()</code></p>
<p>
riordina alfabeticamente la lista</p>
<p>
Infine il comando <strong><code>range</code></strong> che permette di creare delle liste a partire da un numero</p>
<p>
<code>listadellaspesa=range(12)</code></p>
<p>
crea una lista che parte da 0 e finisce con 11, perché come detto prima, si inizia a contare da zero in Python.</p>
<p>
Le <strong>tuple</strong> differiscono dalle liste perché sono immutabili, inoltre si identificano tra parentesi tonde, a differenza delle liste che usano le parentesi quadre.</p>
<p>
<code>settimana = ('Lunedì','Martedì','Mercoledì','Giovedì','Sabato')</code></p>
<p>
I <strong>dizionari</strong> sono invece definiti tra parentesi graffe, ogni elemento del dizionario è infatti composto da una chiave ed un valore, la prima serve per il recupero del<br />
secondo.</p>
<p>
<code>libro = {'titolo':'Bioinformatics Programming Using Python','autore':'Gualtiero Spampinato della Rovere','editore':'scilla e cariddi edizioni'}</code></p>
<p>
Anche in questo caso esistono funzioni utili:</p>
<p>
<code><strong>len</strong></code> che indica quanti elementi compongono il dizionario</p>
<p>
<code>print len(libri)</code> darà come risultato 3</p>
<p>
<code><strong>has_key</strong></code> indica se esiste una specifica chiave</p>
<p>
<code>libri.has_key('autore')</code> restituisce 1</p>
<p>
<strong><code>keys</code></strong> restituisce una lista contenente il nome delle chiavi del dizionario</p>
<p>
<code>print libri.keys()</code> darà <code>['titolo','autore','editore']</code></p>
<p>
similarmente <strong><code>values</code></strong> restituisce la lista dei valori</p>
<p>
<strong><code>del</code></strong> come per le liste, permette di cancellare una chiave ed il suo valore</p>
<p>
<code>del libri['autore']</code></p>
<p>
Per aggiungere valori, si usa <code><strong>append</strong></code> come segue nell&#8217;esempio:</p>
<p>
<code>libri.append({'titolo':'Il cane di terracotta','autore':'Ermenegildo Francesco Camilleri','editore':'librerie fellerio'})</code></p>
<blockquote><p>
Le parentesi graffe in Linux si ottengono con le combinazioni di tasti ALT GR + il numero 7 oppure il numero 0, rispettivamente per &#8220;aperta graffa&#8221; e &#8220;chiusa graffa&#8221;.</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2337/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2337&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/liste-tuple-e-dizionari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>pdftk</title>
		<link>http://opuntia.biz/2012/02/28/pdftk/</link>
		<comments>http://opuntia.biz/2012/02/28/pdftk/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:22:56 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2335</guid>
		<description><![CDATA[PDFtk è un programma molto utile se dovete manipolare file nel comune formato di Adobe Acrobat. Ecco come si usa per unire più documenti in un unico file: pdftk file1.pdf file2.pdf file3.pdf cat output nuovofile123.pdf pdftk A=1.pdf B=2.pdf cat A B output 12.pdf pdftk *.pdf cat output sommadeifile.pdf Per estrarre solo alcune pagine da certi <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2335&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>PDFtk</strong> è un programma molto utile se dovete manipolare file nel comune formato di Adobe Acrobat. Ecco come si usa per unire più documenti in un unico file:</p>
<p><code>pdftk file1.pdf file2.pdf file3.pdf cat output nuovofile123.pdf<br />
pdftk A=1.pdf B=2.pdf cat A B output 12.pdf<br />
pdftk *.pdf cat output sommadeifile.pdf</code></p>
<p>Per estrarre solo alcune pagine da certi file e costituire con esse un nuovo file che le accorpa:</p>
<p><code>pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf</code></p>
<p>Si può gestire anche la cifratura di un file PDF scrivendo (la password è &#8220;stigghiole&#8221;):</p>
<p><code>pdftk documento.pdf output doccifrato.a128bit.pdf owner_pw stigghiole</code></p>
<p>Per decifrare il file:</p>
<p><code>pdftk secured.pdf input_pw foopass output unsecured.pdf </code></p>
<p>Oppure fare la stessa cosa senza chiudere il file con una password:</p>
<p><code>pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz</code></p>
<p>Impedire la stampa:</p>
<p><code>pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing</code></p>
<p>Integrare due file, di cui uno cifrato:</p>
<p><code>pdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf</code></p>
<p>E se volessimo prelevare il testo di un file PDF per usarlo con un elaboratore di testi?</p>
<p><code>pdftk mydoc.pdf output mydoc.clear.pdf uncompress </code></p>
<p>Provare a riparare un file PDF danneggiato (se possibile):</p>
<p><code>pdftk broken.pdf output fixed.pdf </code></p>
<p>Estrarre tutte le pagine di un documento PDF in singoli documenti e produrre un elenco dei medesimi:</p>
<p><code>pdftk mydoc.pdf burst</code></p>
<p><code>pdftk mydoc.pdf dump_data output report.txt</code></p>
<p>Un buon <em>front-end</em> è il programma <strong>PDFChain</strong></p>
<p>reperibile sul sito <a href="http://pdfchain.sourceforge.net/documentation.html" target="_blank">pdfchain.sourceforge.net</a> mentre PDFtk è disponibile sul sito <a href="http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/" target="_blank">www.pdflabs.com</a></p>
<p><img class="aligncenter" title="pdfchain-frontend" src="http://pdfchain.sourceforge.net/data/screenshots/screenshot5.png" alt="" width="500" height="400" /></p>
<p>Altrimenti potete provare PDFedit, un altro strumento per GNU/Linux in grado di modificare i file .pdf ma è senza dubbio il primo veramente utilizzabile.</p>
<p>PDFedit si trova su <a href="http://sourceforge.net/projects/pdfedit" target="_blank">http://sourceforge.net/projects/pdfedit</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2335/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2335&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/pdftk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>

		<media:content url="http://pdfchain.sourceforge.net/data/screenshots/screenshot5.png" medium="image">
			<media:title type="html">pdfchain-frontend</media:title>
		</media:content>
	</item>
		<item>
		<title>Interrogare un server LDAP</title>
		<link>http://opuntia.biz/2012/02/28/interrogare-un-server-ldap/</link>
		<comments>http://opuntia.biz/2012/02/28/interrogare-un-server-ldap/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:21:58 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2333</guid>
		<description><![CDATA[Questo frammento di codice serve per verificare se un certo server LDAP è raggiungibile import ldap try: l = ldap.open(&#8220;indicepa.gov.it&#8221;) l.protocol_version = ldap.VERSION3 except ldap.LDAPError, e: print e baseDN = &#8220;c=it&#8221; searchScope = ldap.SCOPE_SUBTREE retrieveAttributes = None searchFilter = &#8220;oU=MIAV*&#8221; try: ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes) result_set = [] while 1: result_type, result_data = <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2333&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Questo frammento di codice serve per verificare se un certo server LDAP è raggiungibile</p>
<p><code><br />
import ldap</code></p>
<p>try:<br />
l = ldap.open(&#8220;indicepa.gov.it&#8221;)<br />
l.protocol_version = ldap.VERSION3<br />
except ldap.LDAPError, e:<br />
print e<br />
baseDN = &#8220;c=it&#8221;<br />
searchScope = ldap.SCOPE_SUBTREE<br />
retrieveAttributes = None<br />
searchFilter = &#8220;oU=MIAV*&#8221;</p>
<p>try:<br />
ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)<br />
result_set = []<br />
while 1:<br />
result_type, result_data = l.result(ldap_result_id, 0)<br />
if (result_data == []):<br />
break<br />
else:<br />
if result_type == ldap.RES_SEARCH_ENTRY:<br />
result_set.append(result_data)<br />
print result_set<br />
except ldap.LDAPError, e:<br />
print e</p>
<p>Il risultato è questo:<br />
<code><br />
[[('ou=MIAVIMAR,o=m_d,c=it', {'provincia': ['RM'], 'description': ["Ufficio dell'Ispettore dell'Aviazione per la Marina Militare - Roma (ISPAVIAMAR Roma)"], 'regione': ['Lazio'], 'cognomeResp': ['dichiarato'], 'objectClass': ['top', 'organization', 'organizationalUnit', 'ufficio'], 'l': ['Roma'], 'o': ['m_d'], 'street': ['Piazza della Marina, 4'], 'aooRef': ['aoo=MIAVIMAR,o=m_d,c=it'], 'nomeResp': ['non'], 'postalCode': ['00196'], 'mail': ['ispaviamar.roma@marina.difesa.it'], 'ou': ['MIAVIMAR']})]]<br />
</code></p>
<p>i miei &#8220;vecchi amici&#8221; di ISPAVIAMAR&#8230;</p>
<p>Riferimenti:</p>
<ul>
<li><a href="http://www.python-ldap.org/doc/html/ldap.html" target="_blank">python-ldap v2.3.11.0 documentation</a></li>
<li><a href="http://www.notageek.it/ldap-for-ad-administrators.html" target="_blank">LDAP per Amministratori Active Directory – LDAP for Active Directory Administrators</a></li>
<li><a href="http://it.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" target="_blank">LDAP su Wikipedia.org</a> (e scoprirete che active directory non è così innovativo come viene proposto, ma è &#8220;copiato&#8221; da qualcosa inventato negli anni &#8217;70 del secolo scorso&#8230;)</li>
<li><a href="http://blogs.devleap.com/romeopruno/archive/2007/09/24/gestire-l-indice-delle-pubbliche-amministrazioni-del-cnipa.aspx" target="_blank">Gestire l&#8217;Indice delle Pubbliche Amministrazioni del CNIPA</a> (di Romeo Pruno)</li>
<li><a href="http://indicepa.gov.it/" target="_blank">indicepa.gov.it</a> (si si scrive proprio così <strong>indicepa.gov.it</strong>) la madre di tutte le tempeste</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2333/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2333&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/interrogare-un-server-ldap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
		<item>
		<title>ttyS0 &#8211; terminal on serial connection</title>
		<link>http://opuntia.biz/2012/02/28/ttys0-terminal-on-serial-connection/</link>
		<comments>http://opuntia.biz/2012/02/28/ttys0-terminal-on-serial-connection/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 22:20:51 +0000</pubDate>
		<dc:creator>BoB</dc:creator>
		
		<guid isPermaLink="false">http://opuntia.biz/?p=2331</guid>
		<description><![CDATA[I actually planned to do this for quite a long time, but since I haven&#8217;t had any suitable client hardware, I procrastinated this. Now, the old laptop I&#8217;ve got from my dad, features an RS-232 port. So, now that I had technically a client, that I could test my RS-232 connection with, I ordered a <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2331&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I actually planned to do this for quite a long time, but since I haven&#8217;t had any suitable client hardware, I procrastinated this.</p>
<p>Now, the old laptop I&#8217;ve got from my dad, features an RS-232 port. So, now that I had technically a client, that I could test my RS-232 connection with, I ordered a null modem cable.</p>
<p>There is no RS-232 outlet on my desktop computer directly on the mainboard, but theres a connector on the mainbord, where a RS-232 outlet can be attached to. The outlet will then cover up a PCI slot.</p>
<p><span>Activating RS-232</span></p>
<p>Ok, once all cables were in place, I tried to access both RS-232 ports by reading from them directly. They&#8217;re usually <code>ttyS0</code> or <code>ttyS1</code>, depending what COM-Port it is.</p>
<p>From the file <code>/proc/tty/driver/serial</code>, information about the serial setup can be obtained.<br />
A <code>setserial -q /dev/ttyS0</code> might be usefull as well. Usually, the UART Type is 16550A, on a standard PC. Mine wasn&#8217;t working though.</p>
<p>At leas not right from the start, when I tried to read the interface with <code>cat /dev/ttyS0</code>, I got the following error:</p>
<p><code># cat /dev/ttyS0<br />
cat: /dev/ttyS0: Input/output error<br />
</code></p>
<p>Obviously, the driver couldn&#8217;t activate the hardware. Reason was, it was deactivated in BIOS. After activating RS-232 there, it worked well.</p>
<p>As a last action, I added myself to the <code>uucp</code> group, so I have user permission to the serial lines. It is not necessary for the terminal setup, but a good idea to do so, just for future projects, maybe&#8230;</p>
<p><span>Setting up a terminal</span></p>
<p>Once the Serial line is configured and working properly, it&#8217;s time to let a terminal run on that port. This is what I added to my <code>/etc/inittab</code>:</p>
<p><code>s0:2345:respawn:/sbin/agetty -L 38400 ttyS0</code></p>
<p>I added it quite on the top of that file, right below the <code>'si'</code> statment, <code>mingetty</code> cannot be used for serial connections, it cannot be run in a console, too. I tried it for testing purposes, but the cosole &#8211; along with your login program &#8211; will log you out, as soon as you log in over your serial line.</p>
<p><code>'-L'</code> means this is a local line, with no carrier signal. 38400 is the standard speed of a Linux console, it might be a bit high, I was told, but it works well. I tested that with some higher values as well (115200) and it worked too, I guess it tepends on things like cable length, etc. Last parameter, is the serial tty to listen on. The terminal type can be specified as an additional parameter at the end of the parameter list, <code>vt102</code>, for instance. This is sometimes required, depending on the client.</p>
<p>After finishing editing <code>/etc/inittab</code>, an <code>init q</code> will make the system re-read <code>/etc/inittab</code> and apply changes. The <code>agetty</code>&gt; should now be listening on <code>ttyS0</code>&gt;.</p>
<p><span>Setting up a client</span></p>
<p>It&#8217;s time to establish a connection and test the serial line. I use a laptop, that has an RS-232 port, so some preliminary setup is required. I tried <code>minicom</code> as terminal initially, but it turned out, not to be the best client. It initializes the modem, this lasts quite long, and it doesn&#8217;t convey ANSI colors. So the better option is <code>cu</code>, it&#8217;s part of the UUCP-Package.</p>
<p>Oh, and the serial port of that computer, has to be accessible as well, of course.</p>
<p>Once everything was set up, I established the connection:</p>
<p><code>$ cu -l ttyS0 -38400 --nostop</code></p>
<p>Pretty self explanatory, I think. The <code>--nostop</code> option disables XON/XOFF handling.</p>
<p><span>root access over ttyS0</span></p>
<p>In order to become root over the serial terminal, the tty needs to be added to <code>/etc/securetty</code></p>
<p>I appended <code>ttyS0</code> to the end of the file. It is now possible, to gain root access over the serial terminal. The <code>agetty</code> process needs to be restarted to apply changes.</p>
<p><span>Accessing GRUB over ttyS0</span></p>
<p>To make bootloader access possible over <code>ttyS0</code>, some changes to <code>/boot/grub/menu.lst</code> need to be done. (GRUB is the bootloader I use, I suppose LiLo has similar capabilities.)</p>
<p>Those are the lines, I appended to the top of my <code>menu.lst</code>:</p>
<p><code>serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1<br />
terminal --timeout=3 serial console<br />
</code></p>
<p>The <code>serial</code> command initiates the serial terminal option, <code>--unit=0</code> defines our first serial connector, I my case, it&#8217;s the only one I have on my machine. I used the standard Linux-Console speed, as well as the &#8220;8N1&#8243; connection strategy. </p>
<p><code>terminal</code> defines the terminal priorities, first terminal (<code>serial</code>) is the standard one, the last one is the secondary terminal (<code>console</code>). </p>
<p><code>--timeout=3</code> enables a delay on both consoles, with a prompt for a keystroke. Depending on which terminal, the key is pressed, this terminal, will be used. If no key is pressed after the timeout, the standard console (in my case <code>serial</code>) will be used.</p>
<p><span>Relaying Kernel output on boot</span></p>
<p>The Kernel accepts multiple <code>console</code> options, of which the last one, is the standard console, and the one that will be used in Single User mode. These are my Kernel options:</p>
<p><code>title Fedora Core (2.6.20-1.2316.fc5)<br />
root (hd0,0)<br />
kernel /vmlinuz-2.6.20-1.2316.fc5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=795 console=tty0 console=ttyS0,38400<br />
initrd /initrd-2.6.20-1.2316.fc5.img<br />
</code></p>
<p><code>console=tty0</code> is the standard console, located on the machine, i.e. monitor and keyboard.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rpennol.wordpress.com/2331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rpennol.wordpress.com/2331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rpennol.wordpress.com/2331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rpennol.wordpress.com/2331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rpennol.wordpress.com/2331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rpennol.wordpress.com/2331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rpennol.wordpress.com/2331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rpennol.wordpress.com/2331/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=opuntia.biz&#038;blog=8227010&#038;post=2331&#038;subd=rpennol&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://opuntia.biz/2012/02/28/ttys0-terminal-on-serial-connection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f61ec7465405898a903989b59eb20a4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">BoB</media:title>
		</media:content>
	</item>
	</channel>
</rss>
