<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/api.php?action=feedcontributions&amp;user=Gianlucacherubini&amp;feedformat=atom</id>
		<title>Slacky.eu - Contributi utente [it]</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/api.php?action=feedcontributions&amp;user=Gianlucacherubini&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Speciale:Contributi/Gianlucacherubini"/>
		<updated>2013-06-19T14:47:10Z</updated>
		<subtitle>Contributi utente</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-10-16T13:30:48Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Debug */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Networking]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Il documento descrive come effettuare il chroot di Apache su slackware 10, con supporto https e php. La base è una Slackware 10 con installazione originale. Il software in dotazione correttamente funzionante:&lt;br /&gt;
&lt;br /&gt;
* [Apache 1.3.31 http://www.apache.org];&lt;br /&gt;
* [MySQL 4.0.20 http://www.mysql.org];&lt;br /&gt;
* [PHP 4.3.9 http://www.php.org].&lt;br /&gt;
&lt;br /&gt;
Prima di procedere configurare Apache, MySQL e PHP secondo le nostre normali esigenze abilitando PHP e HTTPS, creando anche i certificati necessari.&lt;br /&gt;
&lt;br /&gt;
In httpd.conf sotto /etc/apache&lt;br /&gt;
&lt;br /&gt;
 #PHP&lt;br /&gt;
 Include /etc/apache/mod_php.conf&lt;br /&gt;
 #HTTPS&lt;br /&gt;
 Include /etc/apache/mod_ssl.conf&lt;br /&gt;
&lt;br /&gt;
Per creare i certificati usare&lt;br /&gt;
&lt;br /&gt;
 # apacheconfig&lt;br /&gt;
&lt;br /&gt;
== Procedura ==&lt;br /&gt;
&lt;br /&gt;
La procedura è semplice se si sirescono ad identificare con certezza tutti i file e tutte le librerie necessarie.&lt;br /&gt;
&lt;br /&gt;
=== Creazione utente e gruppo per il Chroot ===&lt;br /&gt;
&lt;br /&gt;
=== Creare la chroot jail ===&lt;br /&gt;
&lt;br /&gt;
=== Copia dei file ===&lt;br /&gt;
&lt;br /&gt;
=== Copia delle librerie dinamiche usate da httpd nella chroot jail ===&lt;br /&gt;
&lt;br /&gt;
=== Creazione utente e gruppo ===&lt;br /&gt;
&lt;br /&gt;
=== Copia dei file di configurazione relativi al networking nella directory chroot ===&lt;br /&gt;
&lt;br /&gt;
=== Rimozione dei file originali di Apapche ===&lt;br /&gt;
&lt;br /&gt;
=== Modifica syslogd ===&lt;br /&gt;
&lt;br /&gt;
=== Modifica di httpd.conf ===&lt;br /&gt;
&lt;br /&gt;
=== Avvio di Apache in chroot ===&lt;br /&gt;
&lt;br /&gt;
=== Modifica dello script di inizializzazione di Apache ===&lt;br /&gt;
&lt;br /&gt;
== Nota sull'uso HTTPS ==&lt;br /&gt;
&lt;br /&gt;
== Debug ==&lt;br /&gt;
&lt;br /&gt;
Oltre alla lettura dei log e delle informazioni restituite da Apache si possono anche usare ''struss'' o ''strace'' per capire quali problemi può avere Apache nel partire.&lt;br /&gt;
&lt;br /&gt;
Può capitare che Apache non riesca a partire restituendo l'errore ''htto bas user name''. Questo errore può essere dovuto a molti motivi in genereall'assenza di alcuni file di comunicazione non copiati per errore come nssswitch.conf oppure alla mancanza di alcune librerie del tipo libns. Dovreste risolvere compilando:&lt;br /&gt;
&lt;br /&gt;
 cp /lib/libns* /chroot/httpd/lib&lt;br /&gt;
&lt;br /&gt;
E poi riavviare.&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
* Il presente documento è a semplice scopo divulgativo;&lt;br /&gt;
* L'autore non si asssume la responsabilità di eventuali danni diretti o indiretti derivanti dall'uso dei programmi, o dall'applicazione delle configurazioni menzionate nel seguente articolo;&lt;br /&gt;
* I marchi citati sono di proprietà dei rispettivi propiretari e sono stati utilizzati solo a scopo didattico e informativo previa citazione della fonte;&lt;br /&gt;
* L'uso del presente documento è liberamente consentito a scopo didattico e informativo previa citazione della fonte;&lt;br /&gt;
* Sono possibili errori e imprecisioni, segnalate all'autore, come eventuali integrazioni.&lt;br /&gt;
&lt;br /&gt;
Autore: [[utente:Pavan| Paolo Pavan]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-10-11T07:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Networking]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Il documento descrive come effettuare il chroot di Apache su slackware 10, con supporto https e php. La base è una Slackware 10 con installazione originale. Il software in dotazione correttamente funzionante:&lt;br /&gt;
&lt;br /&gt;
* [Apache 1.3.31 http://www.apache.org];&lt;br /&gt;
* [MySQL 4.0.20 http://www.mysql.org];&lt;br /&gt;
* [PHP 4.3.9 http://www.php.org].&lt;br /&gt;
&lt;br /&gt;
Prima di procedere configurare Apache, MySQL e PHP secondo le nostre normali esigenze abilitando PHP e HTTPS, creando anche i certificati necessari.&lt;br /&gt;
&lt;br /&gt;
In httpd.conf sotto /etc/apache&lt;br /&gt;
&lt;br /&gt;
 #PHP&lt;br /&gt;
 Include /etc/apache/mod_php.conf&lt;br /&gt;
 #HTTPS&lt;br /&gt;
 Include /etc/apache/mod_ssl.conf&lt;br /&gt;
&lt;br /&gt;
Per creare i certificati usare&lt;br /&gt;
&lt;br /&gt;
 # apacheconfig&lt;br /&gt;
&lt;br /&gt;
== Procedura ==&lt;br /&gt;
&lt;br /&gt;
La procedura è semplice se si sirescono ad identificare con certezza tutti i file e tutte le librerie necessarie.&lt;br /&gt;
&lt;br /&gt;
=== Creazione utente e gruppo per il Chroot ===&lt;br /&gt;
&lt;br /&gt;
=== Creare la chroot jail ===&lt;br /&gt;
&lt;br /&gt;
=== Copia dei file ===&lt;br /&gt;
&lt;br /&gt;
=== Copia delle librerie dinamiche usate da httpd nella chroot jail ===&lt;br /&gt;
&lt;br /&gt;
=== Creazione utente e gruppo ===&lt;br /&gt;
&lt;br /&gt;
=== Copia dei file di configurazione relativi al networking nella directory chroot ===&lt;br /&gt;
&lt;br /&gt;
=== Rimozione dei file originali di Apapche ===&lt;br /&gt;
&lt;br /&gt;
=== Modifica syslogd ===&lt;br /&gt;
&lt;br /&gt;
=== Modifica di httpd.conf ===&lt;br /&gt;
&lt;br /&gt;
=== Avvio di Apache in chroot ===&lt;br /&gt;
&lt;br /&gt;
=== Modifica dello script di inizializzazione di Apache ===&lt;br /&gt;
&lt;br /&gt;
== Nota sull'uso HTTPS ==&lt;br /&gt;
&lt;br /&gt;
== Debug ==&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
* Il presente documento è a semplice scopo divulgativo;&lt;br /&gt;
* L'autore non si asssume la responsabilità di eventuali danni diretti o indiretti derivanti dall'uso dei programmi, o dall'applicazione delle configurazioni menzionate nel seguente articolo;&lt;br /&gt;
* I marchi citati sono di proprietà dei rispettivi propiretari e sono stati utilizzati solo a scopo didattico e informativo previa citazione della fonte;&lt;br /&gt;
* L'uso del presente documento è liberamente consentito a scopo didattico e informativo previa citazione della fonte;&lt;br /&gt;
* Sono possibili errori e imprecisioni, segnalate all'autore, come eventuali integrazioni.&lt;br /&gt;
&lt;br /&gt;
Autore: [[utente:Pavan| Paolo Pavan]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-10-11T07:28:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Networking]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Il documento descrive come effettuare il chroot di Apache su slackware 10, con supporto https e php. La base è una Slackware 10 con installazione originale.&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
* Il presente documento è a semplice scopo divulgativo;&lt;br /&gt;
* L'autore non si asssume la responsabilità di eventuali danni diretti o indiretti derivanti dall'uso dei programmi, o dall'applicazione delle configurazioni menzionate nel seguente articolo;&lt;br /&gt;
* I marchi citati sono di proprietà dei rispettivi propiretari e sono stati utilizzati solo a scopo didattico e informativo previa citazione della fonte;&lt;br /&gt;
* L'uso del presente documento è liberamente consentito a scopo didattico e informativo previa citazione della fonte;&lt;br /&gt;
* Sono possibili errori e imprecisioni, segnalate all'autore, come eventuali integrazioni.&lt;br /&gt;
&lt;br /&gt;
Autore: [[utente:Pavan| Paolo Pavan]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-09-29T07:41:46Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Networking]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Il documento descrive come effettuare il chroot di Apache su slackware 10, con supporto https e php. La base è una Slackware 10 con installazione originale.&lt;br /&gt;
&lt;br /&gt;
Autore: [[utente:Pavan| Paolo Pavan]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-09-26T06:34:44Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Networking]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autore: [[utente:Pavan| Paolo Pavan]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-09-26T05:57:45Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Networking]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Autore: [[utente:Pavan| Paolo Pavan]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-09-26T05:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: Slackware Apache Chroo moved to Slackware Apache Chroot: Ill titolo era digitato in maniera errata.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroo</id>
		<title>Slackware Apache Chroo</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroo"/>
				<updated>2006-09-26T05:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: Slackware Apache Chroo moved to Slackware Apache Chroot: Ill titolo era digitato in maniera errata.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Slackware Apache Chroot]]&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Slackware_Apache_Chroot</id>
		<title>Slackware Apache Chroot</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Slackware_Apache_Chroot"/>
				<updated>2006-09-26T05:55:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX</id>
		<title>Costruzione e configurazione di un adattatore per gamepad PSX</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX"/>
				<updated>2006-09-25T10:46:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Supporto Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimediale]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/da8f00e6-0b49-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
+&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/eedac210-0b49-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
=&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/42b8542c-0bf6-11db-81b0-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
Costruzione e configurazione di un adattatore per gamepad PSX&lt;br /&gt;
&lt;br /&gt;
In questo documento descrivero' la costruzione e la configurazione di un adattatore per collegare le periferiche della PlayStation alla parallela del PC in ambiente Linux.&lt;br /&gt;
&lt;br /&gt;
Da premettere che la mia e' semplicemente la raccolta in maniera ordinata, di progetti ed informazioni reperibili facilmente sul web,&lt;br /&gt;
ed agli autori originali vanno tutti i miei ringraziamenti.&lt;br /&gt;
&lt;br /&gt;
== Specifiche ==&lt;br /&gt;
&lt;br /&gt;
Questa interfaccia supporta fino a due controller PSX, siano essi standard o Dualshock, ed ha il supporto per il force feedback, per il quale pero' necessita di alimentazione esterna. La sua costruzione e' molto semplice, ed alla portata anche dei neofiti.&lt;br /&gt;
&lt;br /&gt;
Il materiale che ci serve e' il seguente:&lt;br /&gt;
&lt;br /&gt;
* N° 5 diodi 1N4007; &lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/f77e1c26-0b4b-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* N° 1 Connettore DB25 poli maschio + contenitore; &lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/282ff3e4-0b4c-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* N° 1 Prolunga per Joypad PSX;&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/3be0924a-0b4c-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* Un po' di cavo;&lt;br /&gt;
&lt;br /&gt;
* Un connettore per batteria da 9V;&lt;br /&gt;
&lt;br /&gt;
* Saldatore;&lt;br /&gt;
&lt;br /&gt;
* Stagno;&lt;br /&gt;
&lt;br /&gt;
* Tester;&lt;br /&gt;
&lt;br /&gt;
* Attrezzi vari.&lt;br /&gt;
&lt;br /&gt;
== Descrizione e realizzazione ==&lt;br /&gt;
&lt;br /&gt;
Riprodotto in basso vi e' il semplice schema dell'interfaccia,&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/81c2d9c0-0b4d-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
Figura 1&lt;br /&gt;
&lt;br /&gt;
la cui realizzazione e' ancora piu' semplice:&lt;br /&gt;
&lt;br /&gt;
Tagliare i piedini dei diodi lasciandoli lunghi circa 4 mmm, e saldarli , dal lato senza striscetta argentata, ai piedini 5-6-7-8-9&lt;br /&gt;
della presa 25 poli. Unire invece con uno spezzone di filo tutti i piedini , dei diodi, rimasti liberi (quelli dove c'e' la striscetta argento).&lt;br /&gt;
&lt;br /&gt;
Tagliare ora la prolunga per gamepad lasciando, dal lato del connettore femmina, circa 30 cm di cavo. Spellare i cavi e, mediante&lt;br /&gt;
l'uso di un tester, individuare la corrispondenza tra i colori dei cavi ed il connettore PSX.&lt;br /&gt;
&lt;br /&gt;
Ora, partendo dal cavo N°1, su connettore PSX, saldare i terminali sulla presa 25 poli seguendo lo schema in alto. Prestare attenzione al fatto che in Figura 1 il connettore si intende visto di fronte, con i cavi saldati sul retro.&lt;br /&gt;
&lt;br /&gt;
Tra il piedino 6 ed il 7 colleghiamo la presa per batteria da 9V, oppure l'uscita di un piccolo alimentatore da 9V 300mA, ma solo nel&lt;br /&gt;
caso in cui vogliamo usare la funzione di Force_Feedback, altrimenti possiamo lasciare scollegato. &lt;br /&gt;
&lt;br /&gt;
Ricontrollare di nuovo i collegamenti, ed infine chiudere le prese.&lt;br /&gt;
&lt;br /&gt;
== Supporto Linux ==&lt;br /&gt;
&lt;br /&gt;
Il supporto per questo adattatore e' presente di serie nel Kernel linux, all'interno del modulo gamecon.&lt;br /&gt;
&lt;br /&gt;
Loggarsi alla LinuxBox come root, collegare adattatore e gamepad e, da una shell, impartire il comando:&lt;br /&gt;
&lt;br /&gt;
 $modprobe gamecon gc=0,7&lt;br /&gt;
 $modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Se non riceviamo nessun errore, dando il comando&lt;br /&gt;
&lt;br /&gt;
 $dmesg&lt;br /&gt;
&lt;br /&gt;
otterremo il seguente output:&lt;br /&gt;
&lt;br /&gt;
 input0: PSX controller on parport0&lt;br /&gt;
&lt;br /&gt;
Possiamo ora testare il Joystick con il comando&lt;br /&gt;
&lt;br /&gt;
 $cat /dev/js0&lt;br /&gt;
&lt;br /&gt;
che dovrebbe restituirci una serie di caratteri strani premendo i pulsanti del gamepad.&lt;br /&gt;
&lt;br /&gt;
In ultimo aggiustiamo i permessi per le device&lt;br /&gt;
&lt;br /&gt;
 $chmod 666 /dev/js*&lt;br /&gt;
&lt;br /&gt;
(Aggiustare il comando in base alla posizione delle device js*, in alcuni sistemi e' /dev/input/js*)&lt;br /&gt;
&lt;br /&gt;
Da segnalare che all'indirizzo http://www.sh.nu/download/games/utils/ e' possibile scaricare una serie di utils per la configurazione dei Joystick, tra cui jstest, oppure e' possibile usare il modulo di configurazione joystick dal pannello di controllo di KDE ver. 3.4 o superiore.&lt;br /&gt;
&lt;br /&gt;
In ultimo, per chi vuole approfondire l'argomento, consiglio di leggere il file joystick-parport.txt presente nella documentazione del kernel linux, di cui riporto uno stralcio relativo alla sezione gamecon.&lt;br /&gt;
&lt;br /&gt;
 3.1 gamecon.c&lt;br /&gt;
 12:40, 25 Set 2006 (CEST)12:40, 25 Set 2006 (CEST)[[Utente:Gianlucacherubini|Gianluca]]&lt;br /&gt;
 Using gamecon.c you can connect up to five devices to one parallel&lt;br /&gt;
 port. It uses the following kernel/module command line:&lt;br /&gt;
 gc=port,pad1,pad2,pad3,pad4,pad5&lt;br /&gt;
 Where 'port' the number of the parport interface (eg. 0 for&lt;br /&gt;
 parport0).&lt;br /&gt;
 And 'pad1' to 'pad5' are pad types connected to different data input&lt;br /&gt;
 pins&lt;br /&gt;
 (10,11,12,13,15), as described in section 2.1 of this file.&lt;br /&gt;
 The types are:&lt;br /&gt;
 Type | Joystick/Pad&lt;br /&gt;
 --------------------&lt;br /&gt;
 0 | None&lt;br /&gt;
 1 | SNES pad&lt;br /&gt;
 2 | NES pad&lt;br /&gt;
 4 | Multisystem 1-button joystick&lt;br /&gt;
 5 | Multisystem 2-button joystick&lt;br /&gt;
 6 | N64 pad&lt;br /&gt;
 7 | Sony PSX controller&lt;br /&gt;
 The exact type of the PSX controller type is autoprobed, so you must&lt;br /&gt;
 have your controller plugged in before initializing.&lt;br /&gt;
 Should you want to use more than one of parallel ports at once, you&lt;br /&gt;
 can use gc_2 and gc_3 as additional command line parameters for two more&lt;br /&gt;
 parallel ports.&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
Riporto qui i miei ringraziamenti a tutte le persone che hanno messo a disposizione sul web le informazioni per questo progetto, ed il forum [http://www.netpassion.eu www.netpassion.eu] che mi ha messo a disposizione lo spazio per pubblicare i miei lavori, e su cui potrete trovare tutti i file a cui faccio riferimento in questa guida. &lt;br /&gt;
&lt;br /&gt;
Chiunque abbia domande o suggerimenti puo' contattarmi sul forum suddetto.&lt;br /&gt;
&lt;br /&gt;
Inoltre, per chi volesse sperimentare qualcosa di piu' complesso, riporto lo schema per connettere due Pad contemporaneamente, schema&lt;br /&gt;
che pero', con buona probabilita', necessita di una modifica per alimentare esternamente i pad a +5Volt, poiche' alcune parallele non&lt;br /&gt;
forniscono la corrente necessaria.&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/b2c2b97e-0bf6-11db-81b0-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
Autore: Percoco&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX</id>
		<title>Costruzione e configurazione di un adattatore per gamepad PSX</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX"/>
				<updated>2006-09-25T10:45:04Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimediale]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/da8f00e6-0b49-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
+&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/eedac210-0b49-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
=&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/42b8542c-0bf6-11db-81b0-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
Costruzione e configurazione di un adattatore per gamepad PSX&lt;br /&gt;
&lt;br /&gt;
In questo documento descrivero' la costruzione e la configurazione di un adattatore per collegare le periferiche della PlayStation alla parallela del PC in ambiente Linux.&lt;br /&gt;
&lt;br /&gt;
Da premettere che la mia e' semplicemente la raccolta in maniera ordinata, di progetti ed informazioni reperibili facilmente sul web,&lt;br /&gt;
ed agli autori originali vanno tutti i miei ringraziamenti.&lt;br /&gt;
&lt;br /&gt;
== Specifiche ==&lt;br /&gt;
&lt;br /&gt;
Questa interfaccia supporta fino a due controller PSX, siano essi standard o Dualshock, ed ha il supporto per il force feedback, per il quale pero' necessita di alimentazione esterna. La sua costruzione e' molto semplice, ed alla portata anche dei neofiti.&lt;br /&gt;
&lt;br /&gt;
Il materiale che ci serve e' il seguente:&lt;br /&gt;
&lt;br /&gt;
* N° 5 diodi 1N4007; &lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/f77e1c26-0b4b-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* N° 1 Connettore DB25 poli maschio + contenitore; &lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/282ff3e4-0b4c-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* N° 1 Prolunga per Joypad PSX;&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/3be0924a-0b4c-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* Un po' di cavo;&lt;br /&gt;
&lt;br /&gt;
* Un connettore per batteria da 9V;&lt;br /&gt;
&lt;br /&gt;
* Saldatore;&lt;br /&gt;
&lt;br /&gt;
* Stagno;&lt;br /&gt;
&lt;br /&gt;
* Tester;&lt;br /&gt;
&lt;br /&gt;
* Attrezzi vari.&lt;br /&gt;
&lt;br /&gt;
== Descrizione e realizzazione ==&lt;br /&gt;
&lt;br /&gt;
Riprodotto in basso vi e' il semplice schema dell'interfaccia,&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/81c2d9c0-0b4d-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
Figura 1&lt;br /&gt;
&lt;br /&gt;
la cui realizzazione e' ancora piu' semplice:&lt;br /&gt;
&lt;br /&gt;
Tagliare i piedini dei diodi lasciandoli lunghi circa 4 mmm, e saldarli , dal lato senza striscetta argentata, ai piedini 5-6-7-8-9&lt;br /&gt;
della presa 25 poli. Unire invece con uno spezzone di filo tutti i piedini , dei diodi, rimasti liberi (quelli dove c'e' la striscetta argento).&lt;br /&gt;
&lt;br /&gt;
Tagliare ora la prolunga per gamepad lasciando, dal lato del connettore femmina, circa 30 cm di cavo. Spellare i cavi e, mediante&lt;br /&gt;
l'uso di un tester, individuare la corrispondenza tra i colori dei cavi ed il connettore PSX.&lt;br /&gt;
&lt;br /&gt;
Ora, partendo dal cavo N°1, su connettore PSX, saldare i terminali sulla presa 25 poli seguendo lo schema in alto. Prestare attenzione al fatto che in Figura 1 il connettore si intende visto di fronte, con i cavi saldati sul retro.&lt;br /&gt;
&lt;br /&gt;
Tra il piedino 6 ed il 7 colleghiamo la presa per batteria da 9V, oppure l'uscita di un piccolo alimentatore da 9V 300mA, ma solo nel&lt;br /&gt;
caso in cui vogliamo usare la funzione di Force_Feedback, altrimenti possiamo lasciare scollegato. &lt;br /&gt;
&lt;br /&gt;
Ricontrollare di nuovo i collegamenti, ed infine chiudere le prese.&lt;br /&gt;
&lt;br /&gt;
== Supporto Linux ==&lt;br /&gt;
&lt;br /&gt;
Il supporto per questo adattatore e' presente di serie nel Kernel linux, all'interno del modulo gamecon.&lt;br /&gt;
&lt;br /&gt;
Loggarsi alla LinuxBox come root, collegare adattatore e gamepad e, da una shell, impartire il comando:&lt;br /&gt;
&lt;br /&gt;
 $modprobe gamecon gc=0,7&lt;br /&gt;
 $modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Se non riceviamo nessun errore, dando il comando&lt;br /&gt;
&lt;br /&gt;
 $dmesg&lt;br /&gt;
&lt;br /&gt;
otterremo il seguente output:&lt;br /&gt;
&lt;br /&gt;
 input0: PSX controller on parport0&lt;br /&gt;
&lt;br /&gt;
Possiamo ora testare il Joystick con il comando&lt;br /&gt;
&lt;br /&gt;
 $cat /dev/js0&lt;br /&gt;
&lt;br /&gt;
che dovrebbe restituirci una serie di caratteri strani premendo i pulsanti del gamepad.&lt;br /&gt;
&lt;br /&gt;
In ultimo aggiustiamo i permessi per le device&lt;br /&gt;
&lt;br /&gt;
$chmod 666 /dev/js*&lt;br /&gt;
&lt;br /&gt;
(Aggiustare il comando in base alla posizione delle device js*, in alcuni sistemi e' /dev/input/js*)&lt;br /&gt;
&lt;br /&gt;
Da segnalare che all'indirizzo http://www.sh.nu/download/games/utils/ e' possibile scaricare una serie di utils per la configurazione dei Joystick, tra cui jstest, oppure e' possibile usare il modulo di configurazione joystick dal pannello di controllo di KDE ver. 3.4 o superiore.&lt;br /&gt;
&lt;br /&gt;
In ultimo, per chi vuole approfondire l'argomento, consiglio di leggere il file joystick-parport.txt presente nella documentazione del kernel linux, di cui riporto uno stralcio relativo alla sezione gamecon.&lt;br /&gt;
&lt;br /&gt;
 3.1 gamecon.c&lt;br /&gt;
 12:40, 25 Set 2006 (CEST)12:40, 25 Set 2006 (CEST)[[Utente:Gianlucacherubini|Gianluca]]&lt;br /&gt;
 Using gamecon.c you can connect up to five devices to one parallel&lt;br /&gt;
 port. It uses the following kernel/module command line:&lt;br /&gt;
 gc=port,pad1,pad2,pad3,pad4,pad5&lt;br /&gt;
 Where 'port' the number of the parport interface (eg. 0 for&lt;br /&gt;
 parport0).&lt;br /&gt;
 And 'pad1' to 'pad5' are pad types connected to different data input&lt;br /&gt;
 pins&lt;br /&gt;
 (10,11,12,13,15), as described in section 2.1 of this file.&lt;br /&gt;
 The types are:&lt;br /&gt;
 Type | Joystick/Pad&lt;br /&gt;
 --------------------&lt;br /&gt;
 0 | None&lt;br /&gt;
 1 | SNES pad&lt;br /&gt;
 2 | NES pad&lt;br /&gt;
 4 | Multisystem 1-button joystick&lt;br /&gt;
 5 | Multisystem 2-button joystick&lt;br /&gt;
 6 | N64 pad&lt;br /&gt;
 7 | Sony PSX controller&lt;br /&gt;
 The exact type of the PSX controller type is autoprobed, so you must&lt;br /&gt;
 have your controller plugged in before initializing.&lt;br /&gt;
 Should you want to use more than one of parallel ports at once, you&lt;br /&gt;
 can use gc_2 and gc_3 as additional command line parameters for two more&lt;br /&gt;
 parallel ports.&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
Riporto qui i miei ringraziamenti a tutte le persone che hanno messo a disposizione sul web le informazioni per questo progetto, ed il forum [http://www.netpassion.eu www.netpassion.eu] che mi ha messo a disposizione lo spazio per pubblicare i miei lavori, e su cui potrete trovare tutti i file a cui faccio riferimento in questa guida. &lt;br /&gt;
&lt;br /&gt;
Chiunque abbia domande o suggerimenti puo' contattarmi sul forum suddetto.&lt;br /&gt;
&lt;br /&gt;
Inoltre, per chi volesse sperimentare qualcosa di piu' complesso, riporto lo schema per connettere due Pad contemporaneamente, schema&lt;br /&gt;
che pero', con buona probabilita', necessita di una modifica per alimentare esternamente i pad a +5Volt, poiche' alcune parallele non&lt;br /&gt;
forniscono la corrente necessaria.&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/b2c2b97e-0bf6-11db-81b0-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
Autore: Percoco&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX</id>
		<title>Costruzione e configurazione di un adattatore per gamepad PSX</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX"/>
				<updated>2006-09-25T10:44:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimediale]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/da8f00e6-0b49-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
+&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/eedac210-0b49-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
=&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/42b8542c-0bf6-11db-81b0-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
Costruzione e configurazione di un adattatore per gamepad PSX&lt;br /&gt;
&lt;br /&gt;
In questo documento descrivero' la costruzione e la configurazione di un adattatore per collegare le periferiche della PlayStation alla parallela del PC in ambiente Linux.&lt;br /&gt;
&lt;br /&gt;
Da premettere che la mia e' semplicemente la raccolta in maniera ordinata, di progetti ed informazioni reperibili facilmente sul web,&lt;br /&gt;
ed agli autori originali vanno tutti i miei ringraziamenti.&lt;br /&gt;
&lt;br /&gt;
== Specifiche ==&lt;br /&gt;
&lt;br /&gt;
Questa interfaccia supporta fino a due controller PSX, siano essi standard o Dualshock, ed ha il supporto per il force feedback, per il quale pero' necessita di alimentazione esterna. La sua costruzione e' molto semplice, ed alla portata anche dei neofiti.&lt;br /&gt;
&lt;br /&gt;
Il materiale che ci serve e' il seguente:&lt;br /&gt;
&lt;br /&gt;
* N° 5 diodi 1N4007; &lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/f77e1c26-0b4b-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* N° 1 Connettore DB25 poli maschio + contenitore; &lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/282ff3e4-0b4c-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* N° 1 Prolunga per Joypad PSX;&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/3be0924a-0b4c-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
* Un po' di cavo;&lt;br /&gt;
&lt;br /&gt;
* Un connettore per batteria da 9V;&lt;br /&gt;
&lt;br /&gt;
* Saldatore;&lt;br /&gt;
&lt;br /&gt;
* Stagno;&lt;br /&gt;
&lt;br /&gt;
* Tester;&lt;br /&gt;
&lt;br /&gt;
* Attrezzi vari.&lt;br /&gt;
&lt;br /&gt;
== Descrizione e realizzazione ==&lt;br /&gt;
&lt;br /&gt;
Riprodotto in basso vi e' il semplice schema dell'interfaccia,&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/81c2d9c0-0b4d-11db-84d4-cb08a2c0935e.png&lt;br /&gt;
Figura 1&lt;br /&gt;
&lt;br /&gt;
la cui realizzazione e' ancora piu' semplice:&lt;br /&gt;
&lt;br /&gt;
Tagliare i piedini dei diodi lasciandoli lunghi circa 4 mmm, e saldarli , dal lato senza striscetta argentata, ai piedini 5-6-7-8-9&lt;br /&gt;
della presa 25 poli. Unire invece con uno spezzone di filo tutti i piedini , dei diodi, rimasti liberi (quelli dove c'e' la striscetta argento).&lt;br /&gt;
&lt;br /&gt;
Tagliare ora la prolunga per gamepad lasciando, dal lato del connettore femmina, circa 30 cm di cavo. Spellare i cavi e, mediante&lt;br /&gt;
l'uso di un tester, individuare la corrispondenza tra i colori dei cavi ed il connettore PSX.&lt;br /&gt;
&lt;br /&gt;
Ora, partendo dal cavo N°1, su connettore PSX, saldare i terminali sulla presa 25 poli seguendo lo schema in alto. Prestare attenzione al fatto che in Figura 1 il connettore si intende visto di fronte, con i cavi saldati sul retro.&lt;br /&gt;
&lt;br /&gt;
Tra il piedino 6 ed il 7 colleghiamo la presa per batteria da 9V, oppure l'uscita di un piccolo alimentatore da 9V 300mA, ma solo nel&lt;br /&gt;
caso in cui vogliamo usare la funzione di Force_Feedback, altrimenti possiamo lasciare scollegato. &lt;br /&gt;
&lt;br /&gt;
Ricontrollare di nuovo i collegamenti, ed infine chiudere le prese.&lt;br /&gt;
&lt;br /&gt;
== Supporto Linux ==&lt;br /&gt;
&lt;br /&gt;
Il supporto per questo adattatore e' presente di serie nel Kernel linux, all'interno del modulo gamecon.&lt;br /&gt;
&lt;br /&gt;
Loggarsi alla LinuxBox come root, collegare adattatore e gamepad e, da una shell, impartire il comando:&lt;br /&gt;
&lt;br /&gt;
 $modprobe gamecon gc=0,7&lt;br /&gt;
 $modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Se non riceviamo nessun errore, dando il comando&lt;br /&gt;
&lt;br /&gt;
 $dmesg&lt;br /&gt;
&lt;br /&gt;
otterremo il seguente output:&lt;br /&gt;
&lt;br /&gt;
 input0: PSX controller on parport0&lt;br /&gt;
&lt;br /&gt;
Possiamo ora testare il Joystick con il comando&lt;br /&gt;
&lt;br /&gt;
 $cat /dev/js0&lt;br /&gt;
&lt;br /&gt;
che dovrebbe restituirci una serie di caratteri strani premendo i pulsanti del gamepad.&lt;br /&gt;
&lt;br /&gt;
In ultimo aggiustiamo i permessi per le device&lt;br /&gt;
&lt;br /&gt;
$chmod 666 /dev/js*&lt;br /&gt;
&lt;br /&gt;
(Aggiustare il comando in base alla posizione delle device js*, in alcuni sistemi e' /dev/input/js*)&lt;br /&gt;
&lt;br /&gt;
Da segnalare che all'indirizzo http://www.sh.nu/download/games/utils/ e' possibile scaricare una serie di utils per la configurazione dei Joystick, tra cui jstest, oppure e' possibile usare il modulo di configurazione joystick dal pannello di controllo di KDE ver. 3.4 o superiore.&lt;br /&gt;
&lt;br /&gt;
In ultimo, per chi vuole approfondire l'argomento, consiglio di leggere il file joystick-parport.txt presente nella documentazione del kernel linux, di cui riporto uno stralcio relativo alla sezione gamecon.&lt;br /&gt;
&lt;br /&gt;
 3.1 gamecon.c&lt;br /&gt;
 12:40, 25 Set 2006 (CEST)12:40, 25 Set 2006 (CEST)[[Utente:Gianlucacherubini|Gianluca]]&lt;br /&gt;
 Using gamecon.c you can connect up to five devices to one parallel&lt;br /&gt;
 port. It uses the following kernel/module command line:&lt;br /&gt;
 gc=port,pad1,pad2,pad3,pad4,pad5&lt;br /&gt;
 Where 'port' the number of the parport interface (eg. 0 for&lt;br /&gt;
 parport0).&lt;br /&gt;
 And 'pad1' to 'pad5' are pad types connected to different data input&lt;br /&gt;
 pins&lt;br /&gt;
 (10,11,12,13,15), as described in section 2.1 of this file.&lt;br /&gt;
 The types are:&lt;br /&gt;
 Type | Joystick/Pad&lt;br /&gt;
 --------------------&lt;br /&gt;
 0 | None&lt;br /&gt;
 1 | SNES pad&lt;br /&gt;
 2 | NES pad&lt;br /&gt;
 4 | Multisystem 1-button joystick&lt;br /&gt;
 5 | Multisystem 2-button joystick&lt;br /&gt;
 6 | N64 pad&lt;br /&gt;
 7 | Sony PSX controller&lt;br /&gt;
 The exact type of the PSX controller type is autoprobed, so you must&lt;br /&gt;
 have your controller plugged in before initializing.&lt;br /&gt;
 Should you want to use more than one of parallel ports at once, you&lt;br /&gt;
 can use gc_2 and gc_3 as additional command line parameters for two more&lt;br /&gt;
 parallel ports.&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
Riporto qui i miei ringraziamenti a tutte le persone che hanno messo a disposizione sul web le informazioni per questo progetto, ed il forum [http://www.netpassion.eu www.netpassion.eu] che mi ha messo a disposizione lo spazio per pubblicare i miei lavori, e su cui potrete trovare tutti i file a cui faccio riferimento in questa guida. &lt;br /&gt;
&lt;br /&gt;
Chiunque abbia domande o suggerimenti puo' contattarmi sul forum suddetto.&lt;br /&gt;
&lt;br /&gt;
Inoltre, per chi volesse sperimentare qualcosa di piu' complesso, riporto lo schema per connettere due Pad contemporaneamente, schema&lt;br /&gt;
che pero', con buona probabilita', necessita di una modifica per alimentare esternamente i pad a +5Volt, poiche' alcune parallele non&lt;br /&gt;
forniscono la corrente necessaria.&lt;br /&gt;
&lt;br /&gt;
http://www.netpassion.eu/mkportal/psx-pad.html_files/b2c2b97e-0bf6-11db-81b0-cb08a2c0935e.png&lt;br /&gt;
&lt;br /&gt;
Autore: Percoco&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX</id>
		<title>Costruzione e configurazione di un adattatore per gamepad PSX</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX"/>
				<updated>2006-09-25T10:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Supporto Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimediale]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Costruzione e configurazione di un&lt;br /&gt;
adattatore per gamepad PSX&lt;br /&gt;
&lt;br /&gt;
In questo documento descrivero' la costruzione e la configurazione di un adattatore per collegare le periferiche della PlayStation alla parallela del PC in ambiente Linux.&lt;br /&gt;
&lt;br /&gt;
Da premettere che la mia e' semplicemente la raccolta in maniera ordinata, di progetti ed informazioni reperibili facilmente sul web,&lt;br /&gt;
ed agli autori originali vanno tutti i miei ringraziamenti.&lt;br /&gt;
&lt;br /&gt;
== Specifiche ==&lt;br /&gt;
&lt;br /&gt;
Questa interfaccia supporta fino a due controller PSX, siano essi standard o Dualshock, ed ha il supporto per il force feedback, per il quale pero' necessita di alimentazione esterna. La sua costruzione e' molto semplice, ed alla portata anche dei neofiti.&lt;br /&gt;
&lt;br /&gt;
Il materiale che ci serve e' il seguente:&lt;br /&gt;
&lt;br /&gt;
* N° 5 diodi 1N4007;&lt;br /&gt;
* N° 1 Connettore DB25 poli maschio + contenitore;&lt;br /&gt;
* N° 1 Prolunga per Joypad PSX;&lt;br /&gt;
* Un po' di cavo;&lt;br /&gt;
* Un connettore per batteria da 9V;&lt;br /&gt;
* Saldatore;&lt;br /&gt;
* Stagno;&lt;br /&gt;
* Tester;&lt;br /&gt;
* attrezzi vari.&lt;br /&gt;
&lt;br /&gt;
== Descrizione e realizzazione ==&lt;br /&gt;
&lt;br /&gt;
Riprodotto in basso vi e' il semplice schema dell'interfaccia,&lt;br /&gt;
&lt;br /&gt;
Figura 1&lt;br /&gt;
&lt;br /&gt;
la cui realizzazione e' ancora piu' semplice:&lt;br /&gt;
&lt;br /&gt;
Tagliare i piedini dei diodi lasciandoli lunghi circa 4 mmm, e saldarli , dal lato senza striscetta argentata, ai piedini 5-6-7-8-9&lt;br /&gt;
della presa 25 poli. Unire invece con uno spezzone di filo tutti i piedini , dei diodi, rimasti liberi (quelli dove c'e' la striscetta argento).&lt;br /&gt;
&lt;br /&gt;
Tagliare ora la prolunga per gamepad lasciando, dal lato del connettore femmina, circa 30 cm di cavo. Spellare i cavi e, mediante&lt;br /&gt;
l'uso di un tester, individuare la corrispondenza tra i colori dei cavi ed il connettore PSX.&lt;br /&gt;
&lt;br /&gt;
Ora, partendo dal cavo N°1, su connettore PSX, saldare i terminali sulla presa 25 poli seguendo lo schema in alto. Prestare attenzione al fatto che in Figura 1 il connettore si intende visto di fronte, con i cavi saldati sul retro.&lt;br /&gt;
&lt;br /&gt;
Tra il piedino 6 ed il 7 colleghiamo la presa per batteria da 9V, oppure l'uscita di un piccolo alimentatore da 9V 300mA, ma solo nel&lt;br /&gt;
caso in cui vogliamo usare la funzione di Force_Feedback, altrimenti possiamo lasciare scollegato. &lt;br /&gt;
&lt;br /&gt;
Ricontrollare di nuovo i collegamenti, ed infine chiudere le prese.&lt;br /&gt;
�&lt;br /&gt;
== Supporto Linux ==&lt;br /&gt;
&lt;br /&gt;
Il supporto per questo adattatore e' presente di serie nel Kernel linux, all'interno del modulo gamecon.&lt;br /&gt;
&lt;br /&gt;
Loggarsi alla LinuxBox come root, collegare adattatore e gamepad e, da una shell, impartire il comando:&lt;br /&gt;
&lt;br /&gt;
 $modprobe gamecon gc=0,7&lt;br /&gt;
 $modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Se non riceviamo nessun errore, dando il comando&lt;br /&gt;
&lt;br /&gt;
 $dmesg&lt;br /&gt;
&lt;br /&gt;
otterremo il seguente output:&lt;br /&gt;
&lt;br /&gt;
 input0: PSX controller on parport0&lt;br /&gt;
&lt;br /&gt;
Possiamo ora testare il Joystick con il comando&lt;br /&gt;
&lt;br /&gt;
 $cat /dev/js0&lt;br /&gt;
&lt;br /&gt;
che dovrebbe restituirci una serie di caratteri strani premendo i pulsanti del gamepad.&lt;br /&gt;
&lt;br /&gt;
In ultimo aggiustiamo i permessi per le device&lt;br /&gt;
&lt;br /&gt;
$chmod 666 /dev/js*&lt;br /&gt;
&lt;br /&gt;
(Aggiustare il comando in base alla posizione delle device js*, in alcuni sistemi e' /dev/input/js*)&lt;br /&gt;
&lt;br /&gt;
Da segnalare che all'indirizzo http://www.sh.nu/download/games/utils/ e' possibile scaricare una serie di utils per la configurazione dei Joystick, tra cui jstest, oppure e' possibile usare il modulo di configurazione joystick dal pannello di controllo di KDE ver. 3.4 o superiore.&lt;br /&gt;
&lt;br /&gt;
In ultimo, per chi vuole approfondire l'argomento, consiglio di leggere il file joystick-parport.txt presente nella documentazione del kernel linux, di cui riporto uno stralcio relativo alla sezione gamecon.&lt;br /&gt;
&lt;br /&gt;
 3.1 gamecon.c&lt;br /&gt;
 12:40, 25 Set 2006 (CEST)12:40, 25 Set 2006 (CEST)[[Utente:Gianlucacherubini|Gianluca]]&lt;br /&gt;
 Using gamecon.c you can connect up to five devices to one parallel&lt;br /&gt;
 port. It uses the following kernel/module command line:&lt;br /&gt;
 gc=port,pad1,pad2,pad3,pad4,pad5&lt;br /&gt;
 Where 'port' the number of the parport interface (eg. 0 for&lt;br /&gt;
 parport0).&lt;br /&gt;
 And 'pad1' to 'pad5' are pad types connected to different data input&lt;br /&gt;
 pins&lt;br /&gt;
 (10,11,12,13,15), as described in section 2.1 of this file.&lt;br /&gt;
 The types are:&lt;br /&gt;
 Type | Joystick/Pad&lt;br /&gt;
 --------------------&lt;br /&gt;
 0 | None&lt;br /&gt;
 1 | SNES pad&lt;br /&gt;
 2 | NES pad&lt;br /&gt;
 4 | Multisystem 1-button joystick&lt;br /&gt;
 5 | Multisystem 2-button joystick&lt;br /&gt;
 6 | N64 pad&lt;br /&gt;
 7 | Sony PSX controller&lt;br /&gt;
 The exact type of the PSX controller type is autoprobed, so you must&lt;br /&gt;
 have your controller plugged in before initializing.&lt;br /&gt;
 Should you want to use more than one of parallel ports at once, you&lt;br /&gt;
 can use gc_2 and gc_3 as additional command line parameters for two more&lt;br /&gt;
 parallel ports.&lt;br /&gt;
&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
Riporto qui i miei ringraziamenti a tutte le persone che hanno messo a disposizione sul web le informazioni per questo progetto, ed il forum [http://www.netpassion.eu www.netpassion.eu] che mi ha messo a disposizione lo spazio per pubblicare i miei lavori, e su cui potrete trovare tutti i file a cui faccio riferimento in questa guida. &lt;br /&gt;
&lt;br /&gt;
Chiunque abbia domande o suggerimenti puo' contattarmi sul forum suddetto.&lt;br /&gt;
&lt;br /&gt;
Inoltre, per chi volesse sperimentare qualcosa di piu' complesso, riporto lo schema per connettere due Pad contemporaneamente, schema&lt;br /&gt;
che pero', con buona probabilita', necessita di una modifica per alimentare esternamente i pad a +5Volt, poiche' alcune parallele non&lt;br /&gt;
forniscono la corrente necessaria.&lt;br /&gt;
&lt;br /&gt;
Autore: Percoco&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX</id>
		<title>Costruzione e configurazione di un adattatore per gamepad PSX</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX"/>
				<updated>2006-09-25T10:40:56Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimediale]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Costruzione e configurazione di un&lt;br /&gt;
adattatore per gamepad PSX&lt;br /&gt;
&lt;br /&gt;
In questo documento descrivero' la costruzione e la configurazione di un adattatore per collegare le periferiche della PlayStation alla parallela del PC in ambiente Linux.&lt;br /&gt;
&lt;br /&gt;
Da premettere che la mia e' semplicemente la raccolta in maniera ordinata, di progetti ed informazioni reperibili facilmente sul web,&lt;br /&gt;
ed agli autori originali vanno tutti i miei ringraziamenti.&lt;br /&gt;
&lt;br /&gt;
== Specifiche ==&lt;br /&gt;
&lt;br /&gt;
Questa interfaccia supporta fino a due controller PSX, siano essi standard o Dualshock, ed ha il supporto per il force feedback, per il quale pero' necessita di alimentazione esterna. La sua costruzione e' molto semplice, ed alla portata anche dei neofiti.&lt;br /&gt;
&lt;br /&gt;
Il materiale che ci serve e' il seguente:&lt;br /&gt;
&lt;br /&gt;
* N° 5 diodi 1N4007;&lt;br /&gt;
* N° 1 Connettore DB25 poli maschio + contenitore;&lt;br /&gt;
* N° 1 Prolunga per Joypad PSX;&lt;br /&gt;
* Un po' di cavo;&lt;br /&gt;
* Un connettore per batteria da 9V;&lt;br /&gt;
* Saldatore;&lt;br /&gt;
* Stagno;&lt;br /&gt;
* Tester;&lt;br /&gt;
* attrezzi vari.&lt;br /&gt;
&lt;br /&gt;
== Descrizione e realizzazione ==&lt;br /&gt;
&lt;br /&gt;
Riprodotto in basso vi e' il semplice schema dell'interfaccia,&lt;br /&gt;
&lt;br /&gt;
Figura 1&lt;br /&gt;
&lt;br /&gt;
la cui realizzazione e' ancora piu' semplice:&lt;br /&gt;
&lt;br /&gt;
Tagliare i piedini dei diodi lasciandoli lunghi circa 4 mmm, e saldarli , dal lato senza striscetta argentata, ai piedini 5-6-7-8-9&lt;br /&gt;
della presa 25 poli. Unire invece con uno spezzone di filo tutti i piedini , dei diodi, rimasti liberi (quelli dove c'e' la striscetta argento).&lt;br /&gt;
&lt;br /&gt;
Tagliare ora la prolunga per gamepad lasciando, dal lato del connettore femmina, circa 30 cm di cavo. Spellare i cavi e, mediante&lt;br /&gt;
l'uso di un tester, individuare la corrispondenza tra i colori dei cavi ed il connettore PSX.&lt;br /&gt;
&lt;br /&gt;
Ora, partendo dal cavo N°1, su connettore PSX, saldare i terminali sulla presa 25 poli seguendo lo schema in alto. Prestare attenzione al fatto che in Figura 1 il connettore si intende visto di fronte, con i cavi saldati sul retro.&lt;br /&gt;
&lt;br /&gt;
Tra il piedino 6 ed il 7 colleghiamo la presa per batteria da 9V, oppure l'uscita di un piccolo alimentatore da 9V 300mA, ma solo nel&lt;br /&gt;
caso in cui vogliamo usare la funzione di Force_Feedback, altrimenti possiamo lasciare scollegato. &lt;br /&gt;
&lt;br /&gt;
Ricontrollare di nuovo i collegamenti, ed infine chiudere le prese.&lt;br /&gt;
�&lt;br /&gt;
== Supporto Linux ==&lt;br /&gt;
&lt;br /&gt;
Il supporto per questo adattatore e' presente di serie nel Kernel linux, all'interno del modulo gamecon.&lt;br /&gt;
&lt;br /&gt;
Loggarsi alla LinuxBox come root, collegare adattatore e gamepad e, da una shell, impartire il comando:&lt;br /&gt;
&lt;br /&gt;
 $modprobe gamecon gc=0,7&lt;br /&gt;
 $modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Se non riceviamo nessun errore, dando il comando&lt;br /&gt;
&lt;br /&gt;
 $dmesg&lt;br /&gt;
&lt;br /&gt;
otterremo il seguente output:&lt;br /&gt;
&lt;br /&gt;
 input0: PSX controller on parport0&lt;br /&gt;
&lt;br /&gt;
Possiamo ora testare il Joystick con il comando&lt;br /&gt;
&lt;br /&gt;
 $cat /dev/js0&lt;br /&gt;
&lt;br /&gt;
che dovrebbe restituirci una serie di caratteri strani premendo i pulsanti del gamepad.&lt;br /&gt;
&lt;br /&gt;
In ultimo aggiustiamo i permessi per le device&lt;br /&gt;
&lt;br /&gt;
$chmod 666 /dev/js*&lt;br /&gt;
&lt;br /&gt;
(Aggiustare il comando in base alla posizione delle device js*, in alcuni sistemi e' /dev/input/js*)&lt;br /&gt;
&lt;br /&gt;
Da segnalare che all'indirizzo http://www.sh.nu/download/games/utils/ e' possibile scaricare una serie di utils per la configurazione dei Joystick, tra cui jstest, oppure e' possibile usare il modulo di configurazione joystick dal pannello di controllo di KDE ver. 3.4 o superiore.&lt;br /&gt;
&lt;br /&gt;
In ultimo, per chi vuole approfondire l'argomento, consiglio di leggere il file joystick-parport.txt presente nella documentazione del kernel linux, di cui riporto uno stralcio relativo alla sezione gamecon.&lt;br /&gt;
&lt;br /&gt;
 3.1 gamecon.c&lt;br /&gt;
 12:40, 25 Set 2006 (CEST)12:40, 25 Set 2006 (CEST)[[Utente:Gianlucacherubini|Gianluca]]&lt;br /&gt;
 Using gamecon.c you can connect up to five devices to one parallel&lt;br /&gt;
 port. It uses the following kernel/module command line:&lt;br /&gt;
 gc=port,pad1,pad2,pad3,pad4,pad5&lt;br /&gt;
 Where 'port' the number of the parport interface (eg. 0 for&lt;br /&gt;
 parport0).&lt;br /&gt;
 And 'pad1' to 'pad5' are pad types connected to different data input&lt;br /&gt;
 pins&lt;br /&gt;
 (10,11,12,13,15), as described in section 2.1 of this file.&lt;br /&gt;
 The types are:&lt;br /&gt;
 Type | Joystick/Pad&lt;br /&gt;
 --------------------&lt;br /&gt;
 0 | None&lt;br /&gt;
 1 | SNES pad&lt;br /&gt;
 2 | NES pad&lt;br /&gt;
 4 | Multisystem 1-button joystick&lt;br /&gt;
 5 | Multisystem 2-button joystick&lt;br /&gt;
 6 | N64 pad&lt;br /&gt;
 7 | Sony PSX controller&lt;br /&gt;
 The exact type of the PSX controller type is autoprobed, so you must&lt;br /&gt;
 have your controller plugged in before initializing.&lt;br /&gt;
 Should you want to use more than one of parallel ports at once, you&lt;br /&gt;
 can use gc_2 and gc_3 as additional command line parameters for two more&lt;br /&gt;
 parallel ports.&lt;br /&gt;
�&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
Riporto qui i miei ringraziamenti a tutte le persone che hanno messo a disposizione sul web le informazioni per questo progetto, ed il forum [http://www.netpassion.eu www.netpassion.eu] che mi ha messo a disposizione lo spazio per pubblicare i miei lavori, e su cui potrete trovare tutti i file a cui faccio riferimento in questa guida. &lt;br /&gt;
&lt;br /&gt;
Chiunque abbia domande o suggerimenti puo' contattarmi sul forum suddetto.&lt;br /&gt;
&lt;br /&gt;
Inoltre, per chi volesse sperimentare qualcosa di piu' complesso, riporto lo schema per connettere due Pad contemporaneamente, schema&lt;br /&gt;
che pero', con buona probabilita', necessita di una modifica per alimentare esternamente i pad a +5Volt, poiche' alcune parallele non&lt;br /&gt;
forniscono la corrente necessaria.&lt;br /&gt;
&lt;br /&gt;
Autore: Percoco&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX</id>
		<title>Costruzione e configurazione di un adattatore per gamepad PSX</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Costruzione_e_configurazione_di_un_adattatore_per_gamepad_PSX"/>
				<updated>2006-09-25T10:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimediale]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Costruzione e configurazione di un&lt;br /&gt;
adattatore per gamepad PSX&lt;br /&gt;
&lt;br /&gt;
In questo documento descrivero' la costruzione e la configurazione di un adattatore per collegare le periferiche della PlayStation alla parallela del PC in ambiente Linux.&lt;br /&gt;
&lt;br /&gt;
Da premettere che la mia e' semplicemente la raccolta in maniera ordinata, di progetti ed informazioni reperibili facilmente sul web,&lt;br /&gt;
ed agli autori originali vanno tutti i miei ringraziamenti.&lt;br /&gt;
�&lt;br /&gt;
== Specifiche ==&lt;br /&gt;
&lt;br /&gt;
Questa interfaccia supporta fino a due controller PSX, siano essi standard o Dualshock, ed ha il supporto per il force feedback, per il quale pero' necessita di alimentazione esterna. La sua costruzione e' molto semplice, ed alla portata anche dei neofiti.&lt;br /&gt;
&lt;br /&gt;
Il materiale che ci serve e' il seguente:&lt;br /&gt;
&lt;br /&gt;
* N° 5 diodi 1N4007;&lt;br /&gt;
* N° 1 Connettore DB25 poli maschio + contenitore;&lt;br /&gt;
* N° 1 Prolunga per Joypad PSX;&lt;br /&gt;
* Un po' di cavo;&lt;br /&gt;
* Un connettore per batteria da 9V;&lt;br /&gt;
* Saldatore;&lt;br /&gt;
* Stagno;&lt;br /&gt;
* Tester;&lt;br /&gt;
* attrezzi vari.&lt;br /&gt;
&lt;br /&gt;
== Descrizione e realizzazione ==&lt;br /&gt;
&lt;br /&gt;
Riprodotto in basso vi e' il semplice schema dell'interfaccia,&lt;br /&gt;
&lt;br /&gt;
Figura 1&lt;br /&gt;
&lt;br /&gt;
la cui realizzazione e' ancora piu' semplice:&lt;br /&gt;
&lt;br /&gt;
Tagliare i piedini dei diodi lasciandoli lunghi circa 4 mmm, e saldarli , dal lato senza striscetta argentata, ai piedini 5-6-7-8-9&lt;br /&gt;
della presa 25 poli. Unire invece con uno spezzone di filo tutti i piedini , dei diodi, rimasti liberi (quelli dove c'e' la striscetta argento).&lt;br /&gt;
&lt;br /&gt;
Tagliare ora la prolunga per gamepad lasciando, dal lato del connettore femmina, circa 30 cm di cavo. Spellare i cavi e, mediante&lt;br /&gt;
l'uso di un tester, individuare la corrispondenza tra i colori dei cavi ed il connettore PSX.&lt;br /&gt;
&lt;br /&gt;
Ora, partendo dal cavo N°1, su connettore PSX, saldare i terminali sulla presa 25 poli seguendo lo schema in alto. Prestare attenzione al fatto che in Figura 1 il connettore si intende visto di fronte, con i cavi saldati sul retro.&lt;br /&gt;
&lt;br /&gt;
Tra il piedino 6 ed il 7 colleghiamo la presa per batteria da 9V, oppure l'uscita di un piccolo alimentatore da 9V 300mA, ma solo nel&lt;br /&gt;
caso in cui vogliamo usare la funzione di Force_Feedback, altrimenti possiamo lasciare scollegato. &lt;br /&gt;
&lt;br /&gt;
Ricontrollare di nuovo i collegamenti, ed infine chiudere le prese.&lt;br /&gt;
�&lt;br /&gt;
== Supporto Linux ==&lt;br /&gt;
&lt;br /&gt;
Il supporto per questo adattatore e' presente di serie nel Kernel linux, all'interno del modulo gamecon.&lt;br /&gt;
&lt;br /&gt;
Loggarsi alla LinuxBox come root, collegare adattatore e gamepad e, da una shell, impartire il comando:&lt;br /&gt;
&lt;br /&gt;
 $modprobe gamecon gc=0,7&lt;br /&gt;
 $modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Se non riceviamo nessun errore, dando il comando&lt;br /&gt;
&lt;br /&gt;
 $dmesg&lt;br /&gt;
&lt;br /&gt;
otterremo il seguente output:&lt;br /&gt;
&lt;br /&gt;
 input0: PSX controller on parport0&lt;br /&gt;
&lt;br /&gt;
Possiamo ora testare il Joystick con il comando&lt;br /&gt;
&lt;br /&gt;
 $cat /dev/js0&lt;br /&gt;
&lt;br /&gt;
che dovrebbe restituirci una serie di caratteri strani premendo i pulsanti del gamepad.&lt;br /&gt;
&lt;br /&gt;
In ultimo aggiustiamo i permessi per le device&lt;br /&gt;
&lt;br /&gt;
$chmod 666 /dev/js*&lt;br /&gt;
&lt;br /&gt;
(Aggiustare il comando in base alla posizione delle device js*, in alcuni sistemi e' /dev/input/js*)&lt;br /&gt;
&lt;br /&gt;
Da segnalare che all'indirizzo http://www.sh.nu/download/games/utils/ e' possibile scaricare una serie di utils per la configurazione dei Joystick, tra cui jstest, oppure e' possibile usare il modulo di configurazione joystick dal pannello di controllo di KDE ver. 3.4 o superiore.&lt;br /&gt;
&lt;br /&gt;
In ultimo, per chi vuole approfondire l'argomento, consiglio di leggere il file joystick-parport.txt presente nella documentazione del kernel linux, di cui riporto uno stralcio relativo alla sezione gamecon.&lt;br /&gt;
&lt;br /&gt;
 3.1 gamecon.c&lt;br /&gt;
 12:40, 25 Set 2006 (CEST)12:40, 25 Set 2006 (CEST)[[Utente:Gianlucacherubini|Gianluca]]&lt;br /&gt;
 Using gamecon.c you can connect up to five devices to one parallel&lt;br /&gt;
 port. It uses the following kernel/module command line:&lt;br /&gt;
 gc=port,pad1,pad2,pad3,pad4,pad5&lt;br /&gt;
 Where 'port' the number of the parport interface (eg. 0 for&lt;br /&gt;
 parport0).&lt;br /&gt;
 And 'pad1' to 'pad5' are pad types connected to different data input&lt;br /&gt;
 pins&lt;br /&gt;
 (10,11,12,13,15), as described in section 2.1 of this file.&lt;br /&gt;
 The types are:&lt;br /&gt;
 Type | Joystick/Pad&lt;br /&gt;
 --------------------&lt;br /&gt;
 0 | None&lt;br /&gt;
 1 | SNES pad&lt;br /&gt;
 2 | NES pad&lt;br /&gt;
 4 | Multisystem 1-button joystick&lt;br /&gt;
 5 | Multisystem 2-button joystick&lt;br /&gt;
 6 | N64 pad&lt;br /&gt;
 7 | Sony PSX controller&lt;br /&gt;
 The exact type of the PSX controller type is autoprobed, so you must&lt;br /&gt;
 have your controller plugged in before initializing.&lt;br /&gt;
 Should you want to use more than one of parallel ports at once, you&lt;br /&gt;
 can use gc_2 and gc_3 as additional command line parameters for two more&lt;br /&gt;
 parallel ports.&lt;br /&gt;
�&lt;br /&gt;
== Note Finali ==&lt;br /&gt;
&lt;br /&gt;
Riporto qui i miei ringraziamenti a tutte le persone che hanno messo a disposizione sul web le informazioni per questo progetto, ed il forum [http://www.netpassion.eu www.netpassion.eu] che mi ha messo a disposizione lo spazio per pubblicare i miei lavori, e su cui potrete trovare tutti i file a cui faccio riferimento in questa guida. &lt;br /&gt;
&lt;br /&gt;
Chiunque abbia domande o suggerimenti puo' contattarmi sul forum suddetto.&lt;br /&gt;
&lt;br /&gt;
Inoltre, per chi volesse sperimentare qualcosa di piu' complesso, riporto lo schema per connettere due Pad contemporaneamente, schema&lt;br /&gt;
che pero', con buona probabilita', necessita di una modifica per alimentare esternamente i pad a +5Volt, poiche' alcune parallele non&lt;br /&gt;
forniscono la corrente necessaria.&lt;br /&gt;
&lt;br /&gt;
Autore: Percoco&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T10:31:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Impostazione del device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
== Impostazione del device ==&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
Ora occorre impostare correttamnete il modo in cui verrà attivato il device nel filesystem ''/dev''. Di default il demone lircd cerca il device in '''/dev/lircd''' quindi imposteremo l'hotplug in modo da crearlo nel punto di default. Per fare ciò editiamo il file '''/etc/udev/rules.d/lirc.rules''' modificandolo come segue:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/rules.d/lirc.rules&lt;br /&gt;
 ...&lt;br /&gt;
 KERNEL=&amp;quot;lirc0&amp;quot;,         NAME=&amp;quot;lirc&amp;quot;&lt;br /&gt;
 KERNEL=&amp;quot;lirc[1-9]*&amp;quot;,    NAME=&amp;quot;lircd/%n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In questo modo diciamo al kernel di creare il device 0 di lirc come '''/dev/lirc''' e gli eventuali altri come '''/dev/lircd/lircX''' dove '''X''' è il numero del device. Ora dobbiamo specificarne i permessi accodando al file '''/etc/udev/permissions.d/lirc.permissions''' le seguenti righe:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/permissions.d/lirc.permissions&lt;br /&gt;
 ...&lt;br /&gt;
 lirc:root:root:666&lt;br /&gt;
 lircd/*:root:root:666&lt;br /&gt;
&lt;br /&gt;
Riavviando la macchina il device sarà creato correttamente.&lt;br /&gt;
&lt;br /&gt;
== Test di funzionamento ==&lt;br /&gt;
&lt;br /&gt;
Per testare il corretto funzionamento del demone lircd si può provare ad avviarlo non in baclground in una shell ed usare l'applicazione '''irw''' in una seconda shell per testare il funzionamento del telecomando.&lt;br /&gt;
&lt;br /&gt;
Shell 1:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/lircd --nodaemon&lt;br /&gt;
 lircd 0.7.0: lircd(kworld) ready&lt;br /&gt;
 lircd 0.7.0: accepted new client on /dev/lircd&lt;br /&gt;
 lircd 0.7.0: removed client&lt;br /&gt;
&lt;br /&gt;
Shell 2:&lt;br /&gt;
&lt;br /&gt;
 irw&lt;br /&gt;
 0000000061d67887 00 power kworld-878&lt;br /&gt;
 0000000061d67887 01 power kworld-878&lt;br /&gt;
 0000000061d67887 02 power kworld-878&lt;br /&gt;
 0000000061d67887 03 power kworld-878&lt;br /&gt;
 0000000061d67887 00 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 01 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 02 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 03 tv/mf kworld-878&lt;br /&gt;
&lt;br /&gt;
Se l'output che si ottiene è analogo a quello appena proposto il telecomando funziona correttamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizzare l'avvio del demone ==&lt;br /&gt;
&lt;br /&gt;
Per automatizzare l'esecuzione del demone alla'avvio della macchina si può introdurre il seguente script salvandolo come '''/etc/rc.d/rc.lirc''':&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 ##########################################################################&lt;br /&gt;
 # lirc: This is an init script for Slackware 10.2 distribution.&lt;br /&gt;
 # Author: Alessandro Celli&lt;br /&gt;
 # description: lirc is a Linux Infrared Remote Control system.&lt;br /&gt;
 # Changelog:&lt;br /&gt;
 # 31/12/2005 Script creation.&lt;br /&gt;
 ##########################################################################&lt;br /&gt;
 &lt;br /&gt;
 # ---- MODIFICABILI ------------------------------------------&lt;br /&gt;
 DAEMON_PATH=&amp;quot;/usr/local/sbin&amp;quot;&lt;br /&gt;
 COMMAND_PATH=&amp;quot;/usr/local/bin&amp;quot;&lt;br /&gt;
 PID_FILE=&amp;quot;/var/run/lircd.pid&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #---- /MODIFICABILI ------------------------------------------&lt;br /&gt;
 [ -f &amp;quot;$DAEMON_PATH/lircd&amp;quot; ] || exit 0&lt;br /&gt;
 [ -f &amp;quot;$DAEMON_PATH/lircmd&amp;quot; ] || exit 0&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:$PATH&lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          echo -n &amp;quot;Linux Infrared Remote Control is already up as process $PID&amp;quot;&lt;br /&gt;
          exit 2&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;Starting Linux Infrared Remote Control - &amp;quot;&lt;br /&gt;
          $DAEMON_PATH/lircd&lt;br /&gt;
          # Disattivo il demone del mouse&lt;br /&gt;
          # $DEAMON_PATH/lircmd&lt;br /&gt;
          echo &amp;quot;PID: `cat $PID_FILE`&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    stop)&lt;br /&gt;
       echo -n &amp;quot;Shutting down Infrared Remote Control - &amp;quot;&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          kill -9 $PID&lt;br /&gt;
          echo &amp;quot;Kill $PID done.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;lircd is not up&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    status)&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          echo &amp;quot;Linux Infrared Control is up as process $PID&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;Linux Infrared Control is down&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: lirc {start|stop|status}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Questo dovrà essere richiamato dallo script '''/etc/rc.d/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 if [ -x /etc/rc.d/rc.lirc]; then&lt;br /&gt;
    . /etc/rc.d/rc.lirc start&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Autore: Alessandro Celli&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T10:30:58Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
Ora occorre impostare correttamnete il modo in cui verrà attivato il device nel filesystem ''/dev''. Di default il demone lircd cerca il device in '''/dev/lircd''' quindi imposteremo l'hotplug in modo da crearlo nel punto di default. Per fare ciò editiamo il file '''/etc/udev/rules.d/lirc.rules''' modificandolo come segue:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/rules.d/lirc.rules&lt;br /&gt;
 ...&lt;br /&gt;
 KERNEL=&amp;quot;lirc0&amp;quot;,         NAME=&amp;quot;lirc&amp;quot;&lt;br /&gt;
 KERNEL=&amp;quot;lirc[1-9]*&amp;quot;,    NAME=&amp;quot;lircd/%n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In questo modo diciamo al kernel di creare il device 0 di lirc come '''/dev/lirc''' e gli eventuali altri come '''/dev/lircd/lircX''' dove '''X''' è il numero del device. Ora dobbiamo specificarne i permessi accodando al file '''/etc/udev/permissions.d/lirc.permissions''' le seguenti righe:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/permissions.d/lirc.permissions&lt;br /&gt;
 ...&lt;br /&gt;
 lirc:root:root:666&lt;br /&gt;
 lircd/*:root:root:666&lt;br /&gt;
&lt;br /&gt;
Riavviando la macchina il device sarà creato correttamente.&lt;br /&gt;
&lt;br /&gt;
== Test di funzionamento ==&lt;br /&gt;
&lt;br /&gt;
Per testare il corretto funzionamento del demone lircd si può provare ad avviarlo non in baclground in una shell ed usare l'applicazione '''irw''' in una seconda shell per testare il funzionamento del telecomando.&lt;br /&gt;
&lt;br /&gt;
Shell 1:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/lircd --nodaemon&lt;br /&gt;
 lircd 0.7.0: lircd(kworld) ready&lt;br /&gt;
 lircd 0.7.0: accepted new client on /dev/lircd&lt;br /&gt;
 lircd 0.7.0: removed client&lt;br /&gt;
&lt;br /&gt;
Shell 2:&lt;br /&gt;
&lt;br /&gt;
 irw&lt;br /&gt;
 0000000061d67887 00 power kworld-878&lt;br /&gt;
 0000000061d67887 01 power kworld-878&lt;br /&gt;
 0000000061d67887 02 power kworld-878&lt;br /&gt;
 0000000061d67887 03 power kworld-878&lt;br /&gt;
 0000000061d67887 00 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 01 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 02 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 03 tv/mf kworld-878&lt;br /&gt;
&lt;br /&gt;
Se l'output che si ottiene è analogo a quello appena proposto il telecomando funziona correttamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizzare l'avvio del demone ==&lt;br /&gt;
&lt;br /&gt;
Per automatizzare l'esecuzione del demone alla'avvio della macchina si può introdurre il seguente script salvandolo come '''/etc/rc.d/rc.lirc''':&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 ##########################################################################&lt;br /&gt;
 # lirc: This is an init script for Slackware 10.2 distribution.&lt;br /&gt;
 # Author: Alessandro Celli&lt;br /&gt;
 # description: lirc is a Linux Infrared Remote Control system.&lt;br /&gt;
 # Changelog:&lt;br /&gt;
 # 31/12/2005 Script creation.&lt;br /&gt;
 ##########################################################################&lt;br /&gt;
 &lt;br /&gt;
 # ---- MODIFICABILI ------------------------------------------&lt;br /&gt;
 DAEMON_PATH=&amp;quot;/usr/local/sbin&amp;quot;&lt;br /&gt;
 COMMAND_PATH=&amp;quot;/usr/local/bin&amp;quot;&lt;br /&gt;
 PID_FILE=&amp;quot;/var/run/lircd.pid&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #---- /MODIFICABILI ------------------------------------------&lt;br /&gt;
 [ -f &amp;quot;$DAEMON_PATH/lircd&amp;quot; ] || exit 0&lt;br /&gt;
 [ -f &amp;quot;$DAEMON_PATH/lircmd&amp;quot; ] || exit 0&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:$PATH&lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          echo -n &amp;quot;Linux Infrared Remote Control is already up as process $PID&amp;quot;&lt;br /&gt;
          exit 2&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;Starting Linux Infrared Remote Control - &amp;quot;&lt;br /&gt;
          $DAEMON_PATH/lircd&lt;br /&gt;
          # Disattivo il demone del mouse&lt;br /&gt;
          # $DEAMON_PATH/lircmd&lt;br /&gt;
          echo &amp;quot;PID: `cat $PID_FILE`&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    stop)&lt;br /&gt;
       echo -n &amp;quot;Shutting down Infrared Remote Control - &amp;quot;&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          kill -9 $PID&lt;br /&gt;
          echo &amp;quot;Kill $PID done.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;lircd is not up&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    status)&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          echo &amp;quot;Linux Infrared Control is up as process $PID&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;Linux Infrared Control is down&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: lirc {start|stop|status}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Questo dovrà essere richiamato dallo script '''/etc/rc.d/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 if [ -x /etc/rc.d/rc.lirc]; then&lt;br /&gt;
    . /etc/rc.d/rc.lirc start&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Autore: Alessandro Celli&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T10:30:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Automatizzare l'avvio del demone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
Ora occorre impostare correttamnete il modo in cui verrà attivato il device nel filesystem ''/dev''. Di default il demone lircd cerca il device in '''/dev/lircd''' quindi imposteremo l'hotplug in modo da crearlo nel punto di default. Per fare ciò editiamo il file '''/etc/udev/rules.d/lirc.rules''' modificandolo come segue:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/rules.d/lirc.rules&lt;br /&gt;
 ...&lt;br /&gt;
 KERNEL=&amp;quot;lirc0&amp;quot;,         NAME=&amp;quot;lirc&amp;quot;&lt;br /&gt;
 KERNEL=&amp;quot;lirc[1-9]*&amp;quot;,    NAME=&amp;quot;lircd/%n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In questo modo diciamo al kernel di creare il device 0 di lirc come '''/dev/lirc''' e gli eventuali altri come '''/dev/lircd/lircX''' dove '''X''' è il numero del device. Ora dobbiamo specificarne i permessi accodando al file '''/etc/udev/permissions.d/lirc.permissions''' le seguenti righe:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/permissions.d/lirc.permissions&lt;br /&gt;
 ...&lt;br /&gt;
 lirc:root:root:666&lt;br /&gt;
 lircd/*:root:root:666&lt;br /&gt;
&lt;br /&gt;
Riavviando la macchina il device sarà creato correttamente.&lt;br /&gt;
&lt;br /&gt;
== Test di funzionamento ==&lt;br /&gt;
&lt;br /&gt;
Per testare il corretto funzionamento del demone lircd si può provare ad avviarlo non in baclground in una shell ed usare l'applicazione '''irw''' in una seconda shell per testare il funzionamento del telecomando.&lt;br /&gt;
&lt;br /&gt;
Shell 1:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/lircd --nodaemon&lt;br /&gt;
 lircd 0.7.0: lircd(kworld) ready&lt;br /&gt;
 lircd 0.7.0: accepted new client on /dev/lircd&lt;br /&gt;
 lircd 0.7.0: removed client&lt;br /&gt;
&lt;br /&gt;
Shell 2:&lt;br /&gt;
&lt;br /&gt;
 irw&lt;br /&gt;
 0000000061d67887 00 power kworld-878&lt;br /&gt;
 0000000061d67887 01 power kworld-878&lt;br /&gt;
 0000000061d67887 02 power kworld-878&lt;br /&gt;
 0000000061d67887 03 power kworld-878&lt;br /&gt;
 0000000061d67887 00 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 01 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 02 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 03 tv/mf kworld-878&lt;br /&gt;
&lt;br /&gt;
Se l'output che si ottiene è analogo a quello appena proposto il telecomando funziona correttamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizzare l'avvio del demone ==&lt;br /&gt;
&lt;br /&gt;
Per automatizzare l'esecuzione del demone alla'avvio della macchina si può introdurre il seguente script salvandolo come '''/etc/rc.d/rc.lirc''':&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 ##########################################################################&lt;br /&gt;
 # lirc: This is an init script for Slackware 10.2 distribution.&lt;br /&gt;
 # Author: Alessandro Celli&lt;br /&gt;
 # description: lirc is a Linux Infrared Remote Control system.&lt;br /&gt;
 # Changelog:&lt;br /&gt;
 # 31/12/2005 Script creation.&lt;br /&gt;
 ##########################################################################&lt;br /&gt;
 &lt;br /&gt;
 # ---- MODIFICABILI ------------------------------------------&lt;br /&gt;
 DAEMON_PATH=&amp;quot;/usr/local/sbin&amp;quot;&lt;br /&gt;
 COMMAND_PATH=&amp;quot;/usr/local/bin&amp;quot;&lt;br /&gt;
 PID_FILE=&amp;quot;/var/run/lircd.pid&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #---- /MODIFICABILI ------------------------------------------&lt;br /&gt;
 [ -f &amp;quot;$DAEMON_PATH/lircd&amp;quot; ] || exit 0&lt;br /&gt;
 [ -f &amp;quot;$DAEMON_PATH/lircmd&amp;quot; ] || exit 0&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:$PATH&lt;br /&gt;
 # See how we were called.&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          echo -n &amp;quot;Linux Infrared Remote Control is already up as process $PID&amp;quot;&lt;br /&gt;
          exit 2&lt;br /&gt;
       else&lt;br /&gt;
          echo -n &amp;quot;Starting Linux Infrared Remote Control - &amp;quot;&lt;br /&gt;
          $DAEMON_PATH/lircd&lt;br /&gt;
          # Disattivo il demone del mouse&lt;br /&gt;
          # $DEAMON_PATH/lircmd&lt;br /&gt;
          echo &amp;quot;PID: `cat $PID_FILE`&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    stop)&lt;br /&gt;
       echo -n &amp;quot;Shutting down Infrared Remote Control - &amp;quot;&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          kill -9 $PID&lt;br /&gt;
          echo &amp;quot;Kill $PID done.&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;lircd is not up&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    status)&lt;br /&gt;
       if [ -e $PID_FILE ]&lt;br /&gt;
       then&lt;br /&gt;
          PID=&amp;quot;`cat $PID_FILE`&amp;quot;&lt;br /&gt;
          echo &amp;quot;Linux Infrared Control is up as process $PID&amp;quot;&lt;br /&gt;
          exit 0&lt;br /&gt;
       else&lt;br /&gt;
          echo &amp;quot;Linux Infrared Control is down&amp;quot;&lt;br /&gt;
          exit 1&lt;br /&gt;
       fi&lt;br /&gt;
    ;;&lt;br /&gt;
    *)&lt;br /&gt;
       echo &amp;quot;Usage: lirc {start|stop|status}&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Questo dovrà essere richiamato dallo script '''/etc/rc.d/rc.local''':&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 if [ -x /etc/rc.d/rc.lirc]; then&lt;br /&gt;
    . /etc/rc.d/rc.lirc start&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Autore: Alessandro Celli&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T10:21:12Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Test di funzionamento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
Ora occorre impostare correttamnete il modo in cui verrà attivato il device nel filesystem ''/dev''. Di default il demone lircd cerca il device in '''/dev/lircd''' quindi imposteremo l'hotplug in modo da crearlo nel punto di default. Per fare ciò editiamo il file '''/etc/udev/rules.d/lirc.rules''' modificandolo come segue:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/rules.d/lirc.rules&lt;br /&gt;
 ...&lt;br /&gt;
 KERNEL=&amp;quot;lirc0&amp;quot;,         NAME=&amp;quot;lirc&amp;quot;&lt;br /&gt;
 KERNEL=&amp;quot;lirc[1-9]*&amp;quot;,    NAME=&amp;quot;lircd/%n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In questo modo diciamo al kernel di creare il device 0 di lirc come '''/dev/lirc''' e gli eventuali altri come '''/dev/lircd/lircX''' dove '''X''' è il numero del device. Ora dobbiamo specificarne i permessi accodando al file '''/etc/udev/permissions.d/lirc.permissions''' le seguenti righe:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/permissions.d/lirc.permissions&lt;br /&gt;
 ...&lt;br /&gt;
 lirc:root:root:666&lt;br /&gt;
 lircd/*:root:root:666&lt;br /&gt;
&lt;br /&gt;
Riavviando la macchina il device sarà creato correttamente.&lt;br /&gt;
&lt;br /&gt;
== Test di funzionamento ==&lt;br /&gt;
&lt;br /&gt;
Per testare il corretto funzionamento del demone lircd si può provare ad avviarlo non in baclground in una shell ed usare l'applicazione '''irw''' in una seconda shell per testare il funzionamento del telecomando.&lt;br /&gt;
&lt;br /&gt;
Shell 1:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/lircd --nodaemon&lt;br /&gt;
 lircd 0.7.0: lircd(kworld) ready&lt;br /&gt;
 lircd 0.7.0: accepted new client on /dev/lircd&lt;br /&gt;
 lircd 0.7.0: removed client&lt;br /&gt;
&lt;br /&gt;
Shell 2:&lt;br /&gt;
&lt;br /&gt;
 irw&lt;br /&gt;
 0000000061d67887 00 power kworld-878&lt;br /&gt;
 0000000061d67887 01 power kworld-878&lt;br /&gt;
 0000000061d67887 02 power kworld-878&lt;br /&gt;
 0000000061d67887 03 power kworld-878&lt;br /&gt;
 0000000061d67887 00 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 01 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 02 tv/mf kworld-878&lt;br /&gt;
 0000000061d67887 03 tv/mf kworld-878&lt;br /&gt;
&lt;br /&gt;
Se l'output che si ottiene è analogo a quello appena proposto il telecomando funziona correttamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizzare l'avvio del demone ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T10:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
Ora occorre impostare correttamnete il modo in cui verrà attivato il device nel filesystem ''/dev''. Di default il demone lircd cerca il device in '''/dev/lircd''' quindi imposteremo l'hotplug in modo da crearlo nel punto di default. Per fare ciò editiamo il file '''/etc/udev/rules.d/lirc.rules''' modificandolo come segue:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/rules.d/lirc.rules&lt;br /&gt;
 ...&lt;br /&gt;
 KERNEL=&amp;quot;lirc0&amp;quot;,         NAME=&amp;quot;lirc&amp;quot;&lt;br /&gt;
 KERNEL=&amp;quot;lirc[1-9]*&amp;quot;,    NAME=&amp;quot;lircd/%n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In questo modo diciamo al kernel di creare il device 0 di lirc come '''/dev/lirc''' e gli eventuali altri come '''/dev/lircd/lircX''' dove '''X''' è il numero del device. Ora dobbiamo specificarne i permessi accodando al file '''/etc/udev/permissions.d/lirc.permissions''' le seguenti righe:&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/udev/permissions.d/lirc.permissions&lt;br /&gt;
 ...&lt;br /&gt;
 lirc:root:root:666&lt;br /&gt;
 lircd/*:root:root:666&lt;br /&gt;
&lt;br /&gt;
Riavviando la macchina il device sarà creato correttamente.&lt;br /&gt;
&lt;br /&gt;
== Test di funzionamento ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:50:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Configurazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
== Test di funzionamento ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:49:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Impostazione del device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''. Questo però scomparirà presto al riavvio della macchina. In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''. &lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando. Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse. Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema. Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali. Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema. Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
 root@darkstar:~# vi /etc/rc.d/rc.modules&lt;br /&gt;
 ...&lt;br /&gt;
 #Moduli per il caricamento del demone lirc&lt;br /&gt;
 /sbin/modprobe lirc_dev&lt;br /&gt;
 /sbin/modprobe lirc_gpio&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:46:39Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
=== Impostazione del device ===&lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''devfs'' o ''sysfs'' verrà creato il device '''/dev/lirc'''.&lt;br /&gt;
&lt;br /&gt;
Questo però scomparirà presto al riavvio della macchina.&lt;br /&gt;
&lt;br /&gt;
In questo caso sarà il modulo LIRC del kernel a generare /dev/lirc ad ogni avvio.&lt;br /&gt;
&lt;br /&gt;
Purtroppo il nodo creato dal kernel, in questo caso, non sarà visisbile come ''/dev/lirc'' ma potrà essere posizionato in un punto diverso del filesystem ''/dev''.&lt;br /&gt;
&lt;br /&gt;
Sarà importante verificare dove sia questo èunto per configurare correttamente il demone lirc. &lt;br /&gt;
&lt;br /&gt;
Se si utilizza ''sysfs'' con gli ''udev'' risulta conveniente utilzzare il file '''lirc.rules''', reperibile nella cartella ''contrib'' del pacchetto sorgente, copiandolo in '''/etc/udev/rules.d'''.&lt;br /&gt;
&lt;br /&gt;
Il cuore del lirc è '''lircd''', il ''LIRC System daemon'', che si incarica di decodificare tutti i segnali ricevuti dal telecomando.&lt;br /&gt;
&lt;br /&gt;
Il pacchetto LIRC fornisce un secondo demone: '''lircmd'''. Esso dipende da lircd e si incarica di traslare le azioni effettuate sul telecomando in movimenti del mouse.&lt;br /&gt;
&lt;br /&gt;
Come tutti i demoni, lircd e lircmd possono essere avviati all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Se li si vuole eseguire automaticamente all'avvio è sufficiente aggiungere uno script si init al proprio sistema.&lt;br /&gt;
&lt;br /&gt;
Sempre nella directory ''contrib'' sono disponibili alcuni script per le distribuzioni principali.&lt;br /&gt;
&lt;br /&gt;
Si ricordi di non compilare lirc con l'opzione ''disable demonize'' se lo si vuole usare come demone.&lt;br /&gt;
&lt;br /&gt;
Procediamo allora impostando il caricamento del modulo lirc del kernel all'avvio del sistema.&lt;br /&gt;
&lt;br /&gt;
Per ottenere questo risultato accodiamo le seguenti riche al file '''/etc/rc.d/rc.modules''':&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:35:51Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
I device necessari saranno creati nella directory ''/dev''.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:34:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;br /&gt;
&lt;br /&gt;
Se dall'elenco non è disponibile la propria scheda le cose si complicano e quindi è conveniente fare riferimento alla documentazione ufficiale sul lirc presente nei sorgenti o sul [http://www.lirc.org sito].&lt;br /&gt;
&lt;br /&gt;
Per completare l'installazione è sufficiente eseguire i consueti comandi '''make''' e '''make install''', quest'ultimo da root:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ make&lt;br /&gt;
 ale@darkstar:~$ su -c &amp;quot;make install&amp;quot; &lt;br /&gt;
&lt;br /&gt;
L'installazione provvederà a copiare tutti i moduli ed i binari nelle loro usuali destinazioni.&lt;br /&gt;
&lt;br /&gt;
== Configurazione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:30:39Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Lirc è un servizio (demone) che consente di gestire un telecomando ad infrarossi come periferica di input di una linux box.&lt;br /&gt;
&lt;br /&gt;
Questo può lavorare sia con telecomandi che dialogano con un'apposita scheda PCI o con i telecomandi integrati nelle schede tv.&lt;br /&gt;
&lt;br /&gt;
Nel seguito farò riferimento a questo secondo caso ed in particolar modo alla scheda tv della [http://www.kworld.com.tw KWorld] (che possiedo).&lt;br /&gt;
&lt;br /&gt;
== Installazione ==&lt;br /&gt;
&lt;br /&gt;
Prima di procedere alla compilazione dei binari occorre procedere con il setup dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Questo avviene eseguendo semplicemente lo script ''./setup.sh'', contenuto nei sorgenti di lirc, da una shell:&lt;br /&gt;
&lt;br /&gt;
 ale@darkstar:~$ tar xvfz lirc.0.7.0.tar.gz&lt;br /&gt;
 ...&lt;br /&gt;
 ale@darkstar:~$ cd lirc-0.7.0&lt;br /&gt;
 ale@darkstar:~$ ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Seleziono il driver della scheda del telecomando (nel mio caso la scheda TV KWolrd) ed esco dal setup selezionando la voce '''Save Configuration &amp;amp; run configure'''.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando</id>
		<title>Lirc il demone del telecomando</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Lirc_il_demone_del_telecomando"/>
				<updated>2006-09-25T09:23:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Periferiche]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T09:21:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
* Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
&lt;br /&gt;
** ''Crypt::SmbHash'';&lt;br /&gt;
** ''Digest::SHA1'';&lt;br /&gt;
** ''IO::Socket::SSL'';&lt;br /&gt;
** ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
* Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
&lt;br /&gt;
* Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;br /&gt;
&lt;br /&gt;
Ora creare una cartella per il database di LDAP&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /var/lib/ldap/miodominio.com&lt;br /&gt;
 chmod 700 /var/lib/ldap/miodominio.com&lt;br /&gt;
 chown ldap:ldap /var/lib/ldap/miodominio.com&lt;br /&gt;
&lt;br /&gt;
In Fedora l'utente ldap viene creato all'installazione di OpenLDAP, in altre distribuzioni bisogna spesso crearlo a mano!&lt;br /&gt;
&lt;br /&gt;
Infine creare le chiavi che OpenLDAP usa per la criptazione dei dati, per fare ciò è necessario il pacchetto OpenSSL già incluso nella maggior parte delle distribuzioni; altrimenti potete scaricarlo dal [http://www.openssl.org/ sito].&lt;br /&gt;
&lt;br /&gt;
Questo howto descrive come autofirmare i propri cerficati (cioè essere una Certificate Authority: CA).&lt;br /&gt;
&lt;br /&gt;
* Con il comando locate openssl.cnf individuare il file openssl.cnf ed editarlo a secondo la vostra configurazione, ad esempio cambiare il paese in IT, il nome dell'orgarnizazione in miodominio.com ( di default si trova in /etc/ssl/openssl.cnf );&lt;br /&gt;
* Nella stessa cartella di openssl.cnf digittare i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p CA/certs CA/crl CA/newcerts CA/private&lt;br /&gt;
 chmod 700 CA/private&lt;br /&gt;
 touch CA/index.txt&lt;br /&gt;
 echo 01 &amp;gt; CA/serial&lt;br /&gt;
&lt;br /&gt;
* Creare il certificato della CA e la chiave con il comando:&lt;br /&gt;
&lt;br /&gt;
 openssl req -nodes -config openssl.cnf -new -x509 -keyout CA/private/cakey.pem -out CA/cacert.pem -days 3650&lt;br /&gt;
&lt;br /&gt;
* Creare la chiave per OpenLDAP con questi comandi:&lt;br /&gt;
&lt;br /&gt;
 openssl req -config openssl.cnf -nodes -new -keyout /etc/openldap/slapd-key.pem -out slapd.csr&lt;br /&gt;
 openssl ca -config openssl.cnf -out /etc/openldap/slapd-cert.pem -in slapd.csr&lt;br /&gt;
&lt;br /&gt;
* Impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chown root:ldap /etc/openldap/slapd-key.pem&lt;br /&gt;
 chmod 640 /etc/openldap/slapd-key.pem&lt;br /&gt;
 chmod 644 /etc/openldap/slapd-cert.pem&lt;br /&gt;
&lt;br /&gt;
* Copiare il certificato CA nella cartella di configurazione in modo vari apllicazioni possano accedervi:&lt;br /&gt;
&lt;br /&gt;
 cp CA/cacert.pem /etc/openldap&lt;br /&gt;
 chmod 644 /etc/openldap/cacert.pem&lt;br /&gt;
&lt;br /&gt;
* Configurare il file slapd.conf. Il demone di OpenLDAP si chiam slapd, e legge le configurazioni dal file slapd.conf, prima di editare quel file bisogna generare l'impronta della password per l'admin rootdn (root distinguished name), per fare ciò usare l'utility slappasswd come segue:&lt;br /&gt;
&lt;br /&gt;
 slappasswd -h {SSHA} -s password_desiderata&lt;br /&gt;
 &lt;br /&gt;
Salvare l'output di quel comando in un file ad esempio utilizzando le redirezioni “&amp;gt;”, perché verrà usato in seguito.&lt;br /&gt;
&lt;br /&gt;
Con la mia Slackware ottengo:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:/etc/openldap# slappasswd -h {SSHA} -s slacky123&lt;br /&gt;
 {SSHA}edkSLDngACZohmpeSlzsz7/P8u3Hr4jD&lt;br /&gt;
 root@chrix:/etc/openldap#&lt;br /&gt;
&lt;br /&gt;
esempio di file /etc/openldap/slapd.conf da modificare in funzione della propria configurazione:&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # See slapd.conf(5) for details on configuration options.&lt;br /&gt;
 # This file should NOT be world readable.&lt;br /&gt;
 #include /etc/openldap/schema/core.schema&lt;br /&gt;
 include /etc/openldap/schema/samba.schema&lt;br /&gt;
 # Define global ACLs to disable default read access.&lt;br /&gt;
 # Do not enable referrals until AFTER you have a working directory&lt;br /&gt;
 # service AND an understanding of referrals.&lt;br /&gt;
 #referral ldap://root.openldap.org&lt;br /&gt;
 pidfile /var/run/slapd.pid&lt;br /&gt;
 argsfile /var/run/slapd.args&lt;br /&gt;
 # Load dynamic backend modules:&lt;br /&gt;
 # modulepath /usr/libexec/openldap&lt;br /&gt;
 # moduleload back_bdb.la&lt;br /&gt;
 # moduleload back_ldap.la&lt;br /&gt;
 # moduleload back_ldbm.la&lt;br /&gt;
 # moduleload back_passwd.la&lt;br /&gt;
 # moduleload back_shell.la&lt;br /&gt;
 # Sample security restrictions&lt;br /&gt;
 # Require integrity protection (prevent hijacking)&lt;br /&gt;
 # Require 112-bit (3DES or better) encryption for updates&lt;br /&gt;
 # Require 63-bit encryption for simple bind&lt;br /&gt;
 # security ssf=1 update_ssf=112 simple_bind=64&lt;br /&gt;
 # Sample access control policy:&lt;br /&gt;
 # Root DSE: allow anyone to read it&lt;br /&gt;
 # Subschema (sub)entry DSE: allow anyone to read it&lt;br /&gt;
 # Other DSEs:&lt;br /&gt;
 # Allow self write access&lt;br /&gt;
 # Allow authenticated users read access&lt;br /&gt;
 # Allow anonymous users to authenticate&lt;br /&gt;
 # Directives needed to implement policy:&lt;br /&gt;
 # access to dn.base=&amp;quot;&amp;quot; by * read&lt;br /&gt;
 # access to dn.base=&amp;quot;cn=Subschema&amp;quot; by * read&lt;br /&gt;
 # access to *&lt;br /&gt;
 # by self write&lt;br /&gt;
 # by users read&lt;br /&gt;
 # by anonymous auth&lt;br /&gt;
 #&lt;br /&gt;
 # if no access controls are present, the default policy&lt;br /&gt;
 # allows anyone and everyone to read anything but restricts&lt;br /&gt;
 # updates to rootdn. (e.g., &amp;quot;access to * by * read&amp;quot;)&lt;br /&gt;
 #&lt;br /&gt;
 # rootdn can always read and write EVERYTHING!&lt;br /&gt;
 #######################################################################&lt;br /&gt;
 # BDB database definitions&lt;br /&gt;
 #######################################################################&lt;br /&gt;
 database bdb&lt;br /&gt;
 suffix &amp;quot;dc=miodominio,dc=com&amp;quot;&lt;br /&gt;
 rootdn &amp;quot;cn=Manager,dc=miodominio,dc=com&amp;quot;&lt;br /&gt;
 # Cleartext passwords, especially for the rootdn, should&lt;br /&gt;
 # be avoid. See slappasswd(8) and slapd.conf(5) for details.&lt;br /&gt;
 # Use of strong authentication encouraged.&lt;br /&gt;
 # qui la password con slappasswd&lt;br /&gt;
 rootpw {SSHA}edkSLDngACZohmpeSlzsz7/P8u3Hr4jD&lt;br /&gt;
 # The database directory MUST exist prior to running slapd AND&lt;br /&gt;
 # should only be accessible by the slapd and slap tools.&lt;br /&gt;
 # Mode 700 recommended.&lt;br /&gt;
 directory /var/openldap-data&lt;br /&gt;
 # Indices to maintain&lt;br /&gt;
 index objectClass eq&lt;br /&gt;
&lt;br /&gt;
=== Configurare /etc/ldap.conf ===&lt;br /&gt;
&lt;br /&gt;
il file /etc/ldap.conf è usato dai client LDAP sul computer locale quali PAM che l'interfaccia usata da samba per l'autenticazione con il server LDAP, il file ldap.conf da usare è quello impostato per funzionare con PAM, per sapere quale configurazione usare impartire i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 strings /lib/libnss_ldap.so.2 | grep conf&lt;br /&gt;
&lt;br /&gt;
il valore ritornato dovrebbe essere:&lt;br /&gt;
&lt;br /&gt;
 /etc/ldap.conf&lt;br /&gt;
&lt;br /&gt;
Esempio di file /etc/ldap.conf da modificare in funzione della propria configurazione:&lt;br /&gt;
&lt;br /&gt;
#@(#)$Id: ldap.conf,v 2.43 2005/05/25 00:05:08 lukeh Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # This is the configuration file for the LDAP nameservice&lt;br /&gt;
 # switch library and the LDAP PAM module.&lt;br /&gt;
 #&lt;br /&gt;
 # PADL Software&lt;br /&gt;
 # http://www.padl.com&lt;br /&gt;
 #&lt;br /&gt;
 # Your LDAP server. Must be resolvable without using LDAP.&lt;br /&gt;
 # Multiple hosts may be specified, each separated by a&lt;br /&gt;
 # space. How long nss_ldap takes to failover depends on&lt;br /&gt;
 # whether your LDAP client library supports configurable&lt;br /&gt;
 # network or connect timeouts (see bind_timelimit).&lt;br /&gt;
 host 127.0.0.1&lt;br /&gt;
 # The distinguished name of the search base.&lt;br /&gt;
 base dc=chrix,dc=lan&lt;br /&gt;
 # Another way to specify your LDAP server is to provide an&lt;br /&gt;
 # uri with the server name. This allows to use&lt;br /&gt;
 # Unix Domain Sockets to connect to a local LDAP Server.&lt;br /&gt;
 #uri ldap://127.0.0.1/&lt;br /&gt;
 uri ldaps://127.0.0.1/&lt;br /&gt;
 #uri ldapi://%2fvar%2frun%2fldapi_sock/&lt;br /&gt;
 # Note: %2f encodes the '/' used as directory separator&lt;br /&gt;
 # The LDAP version to use (defaults to 3&lt;br /&gt;
 # if supported by client library)&lt;br /&gt;
 #ldap_version 3&lt;br /&gt;
 # The distinguished name to bind to the server with.&lt;br /&gt;
 # Optional: default is to bind anonymously.&lt;br /&gt;
 binddn cn=Manager,dc=chrix,dc=lan&lt;br /&gt;
 # The credentials to bind with.&lt;br /&gt;
 # Optional: default is no credential.&lt;br /&gt;
 bindpw {SSHA}gk/Q2Imacloss8Kobm6MvQF3MrHVZNnJ&lt;br /&gt;
 # The distinguished name to bind to the server with&lt;br /&gt;
 # if the effective user ID is root. Password is&lt;br /&gt;
 # stored in /etc/ldap.secret (mode 600)&lt;br /&gt;
 rootbinddn cn=manager,dc=chrix,dc=lan&lt;br /&gt;
 # The port.&lt;br /&gt;
 # Optional: default is 389.&lt;br /&gt;
 port 389&lt;br /&gt;
 # The search scope.&lt;br /&gt;
 #scope sub&lt;br /&gt;
 #scope one&lt;br /&gt;
 #scope base&lt;br /&gt;
 # Search timelimit&lt;br /&gt;
 #timelimit 30&lt;br /&gt;
 # Bind/connect timelimit&lt;br /&gt;
 #bind_timelimit 30&lt;br /&gt;
 # Reconnect policy:&lt;br /&gt;
 # hard_open: reconnect to DSA with exponential backoff if&lt;br /&gt;
 # opening connection failed&lt;br /&gt;
 # hard_init: reconnect to DSA with exponential backoff if&lt;br /&gt;
 # initializing connection failed&lt;br /&gt;
 # hard: alias for hard_open&lt;br /&gt;
 # soft: return immediately on server failure&lt;br /&gt;
 #bind_policy hard&lt;br /&gt;
 # Idle timelimit; client will close connections&lt;br /&gt;
 # (nss_ldap only) if the server has not been contacted&lt;br /&gt;
 # for the number of seconds specified below.&lt;br /&gt;
 #idle_timelimit 3600&lt;br /&gt;
 # Pagesize: when configured with --enable-paged-results allow&lt;br /&gt;
 # to set the pagesize to a custom value&lt;br /&gt;
 #pagesize 1000&lt;br /&gt;
 # Filter to AND with uid=%s&lt;br /&gt;
 pam_filter objectclass=account&lt;br /&gt;
 # The user ID attribute (defaults to uid)&lt;br /&gt;
 pam_login_attribute uid&lt;br /&gt;
 # Search the root DSE for the password policy (works&lt;br /&gt;
 # with Netscape Directory Server)&lt;br /&gt;
 #pam_lookup_policy yes&lt;br /&gt;
 # Check the 'host' attribute for access control&lt;br /&gt;
 # Default is no; if set to yes, and user has no&lt;br /&gt;
 # value for the host attribute, and pam_ldap is&lt;br /&gt;
 # configured for account management (authorization)&lt;br /&gt;
 # then the user will not be allowed to login.&lt;br /&gt;
 #pam_check_host_attr yes&lt;br /&gt;
 # Check the 'authorizedService' attribute for access&lt;br /&gt;
 # control&lt;br /&gt;
 # Default is no; if set to yes, and the user has no&lt;br /&gt;
 # value for the authorizedService attribute, and&lt;br /&gt;
 # pam_ldap is configured for account management&lt;br /&gt;
 # (authorization) then the user will not be allowed&lt;br /&gt;
 # to login.&lt;br /&gt;
 #pam_check_service_attr yes&lt;br /&gt;
 # Group to enforce membership of&lt;br /&gt;
 #pam_groupdn cn=PAM,ou=Groups,dc=padl,dc=com&lt;br /&gt;
 # Group member attribute&lt;br /&gt;
 #pam_member_attribute uniquemember&lt;br /&gt;
 # Specify a minium or maximum UID number allowed&lt;br /&gt;
 #pam_min_uid 0&lt;br /&gt;
 #pam_max_uid 0&lt;br /&gt;
 # Template login attribute, default template user&lt;br /&gt;
 # (can be overriden by value of former attribute&lt;br /&gt;
 # in user's entry)&lt;br /&gt;
 #pam_login_attribute userPrincipalName&lt;br /&gt;
 #pam_template_login_attribute uid&lt;br /&gt;
 #pam_template_login nobody&lt;br /&gt;
 # HEADS UP: the pam_crypt, pam_nds_passwd,&lt;br /&gt;
 # and pam_ad_passwd options are no&lt;br /&gt;
 # longer supported.&lt;br /&gt;
 #&lt;br /&gt;
 # If you are using XAD, you can set pam_password&lt;br /&gt;
 # to racf, ad, or exop. Make sure that you have&lt;br /&gt;
 # SSL enabled.&lt;br /&gt;
 # Do not hash the password at all; presume&lt;br /&gt;
 # the directory server will do it, if&lt;br /&gt;
 # necessary. This is the default.&lt;br /&gt;
 #pam_password clear&lt;br /&gt;
 # Hash password locally; required for University of&lt;br /&gt;
 # Michigan LDAP server, and works with Netscape&lt;br /&gt;
 # Directory Server if you're using the UNIX-Crypt&lt;br /&gt;
 # hash mechanism and not using the NT Synchronization&lt;br /&gt;
 # service.&lt;br /&gt;
 pam_password crypt&lt;br /&gt;
 # Remove old password first, then update in&lt;br /&gt;
 # cleartext. Necessary for use with Novell&lt;br /&gt;
 # Directory Services (NDS)&lt;br /&gt;
 #pam_password nds&lt;br /&gt;
 # RACF is an alias for the above. For use with&lt;br /&gt;
 # IBM RACF&lt;br /&gt;
 #pam_password racf&lt;br /&gt;
 # Update Active Directory password, by&lt;br /&gt;
 # creating Unicode password and updating&lt;br /&gt;
 # unicodePwd attribute.&lt;br /&gt;
 pam_password ad&lt;br /&gt;
 # Use the OpenLDAP password change&lt;br /&gt;
 # extended operation to update the password.&lt;br /&gt;
 #pam_password exop&lt;br /&gt;
 # Redirect users to a URL or somesuch on password&lt;br /&gt;
 # changes.&lt;br /&gt;
 #pam_password_prohibit_message Please visit http://internal to change your password.&lt;br /&gt;
 # RFC2307bis naming contexts&lt;br /&gt;
 # Syntax:&lt;br /&gt;
 # nss_base_XXX base?scope?filter&lt;br /&gt;
 # where scope is {base,one,sub}&lt;br /&gt;
 # and filter is a filter to be &amp;amp;'d with the&lt;br /&gt;
 # default filter.&lt;br /&gt;
 # You can omit the suffix eg:&lt;br /&gt;
 # nss_base_passwd ou=People,&lt;br /&gt;
 # to append the default base DN but this&lt;br /&gt;
 # may incur a small performance impact.&lt;br /&gt;
 nss_base_passwd ou=Users,dc=chrix,dc=lan?one&lt;br /&gt;
 nss_base_passwd ou=Computers,dc=chrix,dc=lan?one&lt;br /&gt;
 nss_base_shadow ou=Users,dc=chrix,dc=lan?one&lt;br /&gt;
 nss_base_group ou=Groups,dc=chrix,dc=lan?one&lt;br /&gt;
 #nss_base_hosts ou=Hosts,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_services ou=Services,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_networks ou=Networks,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_protocols ou=Protocols,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_rpc ou=Rpc,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_ethers ou=Ethers,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_netmasks ou=Networks,dc=padl,dc=com?ne&lt;br /&gt;
 #nss_base_bootparams ou=Ethers,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_aliases ou=Aliases,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_netgroup ou=Netgroup,dc=padl,dc=com?one&lt;br /&gt;
 # attribute/objectclass mapping&lt;br /&gt;
 # Syntax:&lt;br /&gt;
 #nss_map_attribute rfc2307attribute mapped_attribute&lt;br /&gt;
 #nss_map_objectclass rfc2307objectclassmapped_objectclass&lt;br /&gt;
 # configure --enable-nds is no longer supported.&lt;br /&gt;
 # NDS mappings&lt;br /&gt;
 #nss_map_attribute uniqueMember member&lt;br /&gt;
 # Services for UNIX 3.5 mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount User&lt;br /&gt;
 #nss_map_objectclass shadowAccount User&lt;br /&gt;
 #nss_map_attribute uid msSFU30Name&lt;br /&gt;
 #nss_map_attribute uniqueMember msSFU30PosixMember&lt;br /&gt;
 #nss_map_attribute userPassword msSFU30Password&lt;br /&gt;
 #nss_map_attribute homeDirectory msSFU30HomeDirectory&lt;br /&gt;
 #nss_map_attribute homeDirectory msSFUHomeDirectory&lt;br /&gt;
 #nss_map_objectclass posixGroup Group&lt;br /&gt;
 #pam_login_attribute msSFU30Name&lt;br /&gt;
 #pam_filter objectclass=User&lt;br /&gt;
 #pam_password ad&lt;br /&gt;
 # configure --enable-mssfu-schema is no longer supported.&lt;br /&gt;
 # Services for UNIX 2.0 mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount User&lt;br /&gt;
 #nss_map_objectclass shadowAccount user&lt;br /&gt;
 #nss_map_attribute uid msSFUName&lt;br /&gt;
 #nss_map_attribute uniqueMember posixMember&lt;br /&gt;
 #nss_map_attribute userPassword msSFUPassword&lt;br /&gt;
 #nss_map_attribute homeDirectory msSFUHomeDirectory&lt;br /&gt;
 #nss_map_attribute shadowLastChange pwdLastSet&lt;br /&gt;
 #nss_map_objectclass posixGroup Group&lt;br /&gt;
 #nss_map_attribute cn msSFUName&lt;br /&gt;
 #pam_login_attribute msSFUName&lt;br /&gt;
 #pam_filter objectclass=User&lt;br /&gt;
 #pam_password ad&lt;br /&gt;
 # RFC 2307 (AD) mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount user&lt;br /&gt;
 #nss_map_objectclass shadowAccount user&lt;br /&gt;
 #nss_map_attribute uid sAMAccountName&lt;br /&gt;
 #nss_map_attribute homeDirectory unixHomeDirectory&lt;br /&gt;
 #nss_map_attribute shadowLastChange pwdLastSet&lt;br /&gt;
 #nss_map_objectclass posixGroup group&lt;br /&gt;
 #nss_map_attribute uniqueMember member&lt;br /&gt;
 #pam_login_attribute sAMAccountName&lt;br /&gt;
 #pam_filter objectclass=User&lt;br /&gt;
 #pam_password ad&lt;br /&gt;
 # configure --enable-authpassword is no longer supported&lt;br /&gt;
 # AuthPassword mappings&lt;br /&gt;
 #nss_map_attribute userPassword authPassword&lt;br /&gt;
 # AIX SecureWay mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount aixAccount&lt;br /&gt;
 #nss_base_passwd ou=aixaccount,?one&lt;br /&gt;
 #nss_map_attribute uid userName&lt;br /&gt;
 #nss_map_attribute gidNumber gid&lt;br /&gt;
 #nss_map_attribute uidNumber uid&lt;br /&gt;
 #nss_map_attribute userPassword passwordChar&lt;br /&gt;
 #nss_map_objectclass posixGroup aixAccessGroup&lt;br /&gt;
 #nss_base_group ou=aixgroup,?one&lt;br /&gt;
 #nss_map_attribute cn groupName&lt;br /&gt;
 #nss_map_attribute uniqueMember member&lt;br /&gt;
 #pam_login_attribute userName&lt;br /&gt;
 #pam_filter objectclass=aixAccount&lt;br /&gt;
 pam_password md5&lt;br /&gt;
 # For pre-RFC2307bis automount schema&lt;br /&gt;
 #nss_map_objectclass automountMap nisMap&lt;br /&gt;
 #nss_map_attribute automountMapName nisMapName&lt;br /&gt;
 #nss_map_objectclass automount nisObject&lt;br /&gt;
 #nss_map_attribute automountKey cn&lt;br /&gt;
 #nss_map_attribute automountInformation nisMapEntry&lt;br /&gt;
 # Netscape SDK LDAPS&lt;br /&gt;
 #ssl on&lt;br /&gt;
 # Netscape SDK SSL options&lt;br /&gt;
 #sslpath /etc/ssl/certs/cert7.db&lt;br /&gt;
 # OpenLDAP SSL mechanism&lt;br /&gt;
 # start_tls mechanism uses the normal LDAP port, LDAPS typically 636&lt;br /&gt;
 #ssl start_tls&lt;br /&gt;
 ssl off&lt;br /&gt;
 # OpenLDAP SSL options&lt;br /&gt;
 # Require and verify server certificate (yes/no)&lt;br /&gt;
 # Default is to use libldap's default behavior, which can be configured in&lt;br /&gt;
 # /etc/openldap/ldap.conf using the TLS_REQCERT setting. The default for&lt;br /&gt;
 # OpenLDAP 2.0 and earlier is &amp;quot;no&amp;quot;, for 2.1 and later is &amp;quot;yes&amp;quot;.&lt;br /&gt;
 #tls_checkpeer yes&lt;br /&gt;
 # CA certificates for server certificate verification&lt;br /&gt;
 # At least one of these are required if tls_checkpeer is &amp;quot;yes&amp;quot;&lt;br /&gt;
 #tls_cacertfile /etc/ssl/ca.cert&lt;br /&gt;
 #tls_cacertdir /etc/ssl/certs&lt;br /&gt;
 # Seed the PRNG if /dev/urandom is not provided&lt;br /&gt;
 #tls_randfile /var/run/egd-pool&lt;br /&gt;
 # SSL cipher suite&lt;br /&gt;
 # See man ciphers for syntax&lt;br /&gt;
 #tls_ciphers TLSv1&lt;br /&gt;
 # Client certificate and key&lt;br /&gt;
 # Use these, if your server requires client authentication.&lt;br /&gt;
 #tls_cert&lt;br /&gt;
 #tls_key&lt;br /&gt;
 # Disable SASL security layers. This is needed for AD.&lt;br /&gt;
 #sasl_secprops maxssf=0&lt;br /&gt;
 # Override the default Kerberos ticket cache location.&lt;br /&gt;
 #krb5_ccname FILE:/etc/.ldapcache&lt;br /&gt;
 &lt;br /&gt;
=== Configurare PAM ===&lt;br /&gt;
&lt;br /&gt;
La Fedora core include un utility a riga di comando per la configurazione di PAM chiamto authconfig, le altre distribuzioni di Linux possono usare il tool webmin, c'è un modulo perl per la configurazione di PAM.&lt;br /&gt;
&lt;br /&gt;
Da shell digitare:&lt;br /&gt;
&lt;br /&gt;
 authconfig&lt;br /&gt;
&lt;br /&gt;
e selezionare Use LDAP, Use MD5 Passwords, Use shadow Passwords e Use LDAP Authentication nelle impostazioni di LDAP, abilitare TLS, alla voce Server mettere l'indirizzo 127.0.0.1, e infine nella voce Base DN mettere i valori relativi alla vostra configurazione ad esempio: dc=miodominio,dc=com (sostituite “miodominio” e “com” con i valori che desiderate!)&lt;br /&gt;
&lt;br /&gt;
=== Avviare OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
su Fedora:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ldap start&lt;br /&gt;
&lt;br /&gt;
su Slackware:&lt;br /&gt;
&lt;br /&gt;
 /etc/rc.d/rc.ldap start&lt;br /&gt;
&lt;br /&gt;
== Configurazione di Samba ==&lt;br /&gt;
&lt;br /&gt;
Se non è già presente nel sistema, è possibile scaricarlo dal [http://samba.org sito] oppure prelevare la versione precompilata per la propria distribuzione nei repository.&lt;br /&gt;
&lt;br /&gt;
Esempio di file /etc/samba/smb.conf completo da modificare a seconda della vostra configurazione (ad esempio cambiare il percorso da /opt/IDEALX a /var/lib/samba/... )&lt;br /&gt;
&lt;br /&gt;
 # Global parameters&lt;br /&gt;
 [global]&lt;br /&gt;
 workgroup = TUX-NET&lt;br /&gt;
 netbios name = PDC-SRV&lt;br /&gt;
 security = user&lt;br /&gt;
 enable privileges = yes&lt;br /&gt;
 server string = Samba Server %v&lt;br /&gt;
 encrypt passwords = Yes&lt;br /&gt;
 min passwd length = 3&lt;br /&gt;
 unix password sync = Yes&lt;br /&gt;
 passwd program = /opt/IDEALX/sbin/smbldap-passwd -u %u&lt;br /&gt;
 passwd chat = &amp;quot;Changing password for*\nNew password*&amp;quot; %n\n &amp;quot;*Retype new password*&amp;quot; %n\n&amp;quot;&lt;br /&gt;
 log level = 0&lt;br /&gt;
 syslog = 0&lt;br /&gt;
 log file = /var/log/samba/log.%m&lt;br /&gt;
 max log size = 100000&lt;br /&gt;
 time server = Yes&lt;br /&gt;
 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;
 mangling method = hash2&lt;br /&gt;
 Dos charset = 850&lt;br /&gt;
 Unix charset = ISO8859-1&lt;br /&gt;
 logon drive = H:&lt;br /&gt;
 logon home =&lt;br /&gt;
 logon path =&lt;br /&gt;
 domain logons = Yes&lt;br /&gt;
 domain master = Yes&lt;br /&gt;
 os level = 65&lt;br /&gt;
 preferred master = Yes&lt;br /&gt;
 wins support = yes&lt;br /&gt;
 passdb backend = ldapsam:ldap://127.0.0.1/&lt;br /&gt;
 ldap admin dn = cn=Manager,dc=chrix,dc=lan&lt;br /&gt;
 ldap suffix = dc=chrix,dc=lan&lt;br /&gt;
 ldap group suffix = ou=Groups&lt;br /&gt;
 ldap user suffix = ou=Users&lt;br /&gt;
 ldap machine suffix = ou=Computers&lt;br /&gt;
 add user script = /opt/IDEALX/sbin/smbldap-useradd -m &amp;quot;%u&amp;quot;&lt;br /&gt;
 delete user script = /opt/IDEALX/sbin/smbldap-userdel &amp;quot;%u&amp;quot;&lt;br /&gt;
 add machine script = /opt/IDEALX/sbin/smbldap-useradd -t 0 -w &amp;quot;%u&amp;quot;&lt;br /&gt;
 add group script = /opt/IDEALX/sbin/smbldap-groupadd -p &amp;quot;%g&amp;quot;&lt;br /&gt;
 delete group script = /opt/IDEALX/sbin/smbldap-groupdel &amp;quot;%g&amp;quot;&lt;br /&gt;
 add user to group script = /opt/IDEALX/sbin/smbldap-groupmod -m &amp;quot;%u&amp;quot; &amp;quot;%g&amp;quot;&lt;br /&gt;
 delete user from group script = /opt/IDEALX/sbin/smbldap-groupmod -x &amp;quot;%u&amp;quot; &amp;quot;%g&amp;quot;&lt;br /&gt;
 set primary group script = /opt/IDEALX/sbin/smbldap-usermod -g '%g' '%u'&lt;br /&gt;
 # printers configuration&lt;br /&gt;
 printer admin = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 create mask = 0640&lt;br /&gt;
 directory mask = 0750&lt;br /&gt;
 nt acl support = No&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 deadtime = 10&lt;br /&gt;
 guest account = nobody&lt;br /&gt;
 map to guest = Bad User&lt;br /&gt;
 dont descend = /proc,/dev,/etc,/lib,/lost+found,/initrd&lt;br /&gt;
 show add printer wizard = yes&lt;br /&gt;
 ; to maintain capital letters in shortcuts in any of the profile folders:&lt;br /&gt;
 preserve case = yes&lt;br /&gt;
 short preserve case = yes&lt;br /&gt;
 case sensitive = no&lt;br /&gt;
 [netlogon]&lt;br /&gt;
 path = /home/netlogon/&lt;br /&gt;
 browseable = No&lt;br /&gt;
 read only = yes&lt;br /&gt;
 #lo script logon.py permette di montare automaticamente i dischi all'accesso verrà discusso più avanti&lt;br /&gt;
 root preexec = /home/netlogon/logon.py %U %I&lt;br /&gt;
 [finanze]&lt;br /&gt;
 path = /home/finanze&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0770&lt;br /&gt;
 directory mask = 0770&lt;br /&gt;
 browsable = no&lt;br /&gt;
 [ricerca]&lt;br /&gt;
 path = /home/ricerca&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0770&lt;br /&gt;
 directory mask = 0770&lt;br /&gt;
 browsable = no&lt;br /&gt;
 [amministrazione]&lt;br /&gt;
 path = /home/amministrazione&lt;br /&gt;
 force group = amministrazione&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0770&lt;br /&gt;
 directory mask = 0770&lt;br /&gt;
 browsable = no&lt;br /&gt;
 [profiles]&lt;br /&gt;
 path = /home/profiles&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0600&lt;br /&gt;
 directory mask = 0700&lt;br /&gt;
 browseable = No&lt;br /&gt;
 guest ok = Yes&lt;br /&gt;
 profile acls = yes&lt;br /&gt;
 csc policy = disable&lt;br /&gt;
 # next line is a great way to secure the profiles&lt;br /&gt;
 #force user = %U&lt;br /&gt;
 # next line allows administrator to access all profiles&lt;br /&gt;
 #valid users = %U &amp;quot;Domain Admins&amp;quot;&lt;br /&gt;
 [printers]&lt;br /&gt;
 comment = Network Printers&lt;br /&gt;
 printer admin = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 guest ok = yes&lt;br /&gt;
 printable = yes&lt;br /&gt;
 path = /home/spool/&lt;br /&gt;
 browseable = No&lt;br /&gt;
 read only = Yes&lt;br /&gt;
 printable = Yes&lt;br /&gt;
 print command = /usr/bin/lpr -P%p -r %s&lt;br /&gt;
 lpq command = /usr/bin/lpq -P%p&lt;br /&gt;
 lprm command = /usr/bin/lprm -P%p %j&lt;br /&gt;
 [print$]&lt;br /&gt;
 path = /home/printers&lt;br /&gt;
 guest ok = No&lt;br /&gt;
 browseable = Yes&lt;br /&gt;
 read only = Yes&lt;br /&gt;
 valid users = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 write list = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 create mask = 0664&lt;br /&gt;
 directory mask = 0775&lt;br /&gt;
 &lt;br /&gt;
=== Impostare la password per l'accesso al database LDAP ===&lt;br /&gt;
&lt;br /&gt;
 smbpasswd -w la_vostra_password&lt;br /&gt;
&lt;br /&gt;
Dovreste avere una risposta simile a questa:&lt;br /&gt;
&lt;br /&gt;
 setting stored password for “cn=Manager,dc=chrix,dc=lan” in secrets.tdb&lt;br /&gt;
&lt;br /&gt;
Esempio di script scritto in python per montare automaticamente le home degli utenti/gruppi dopo all'accesso al dominio, da modificare a seconda della vostra configurazione!&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/env python&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 ntlogon.py written by Timothy (rhacer) Grant&lt;br /&gt;
 Copyright 1999 - 2002 by Timothy Grant&lt;br /&gt;
 is distributed under the terms of the GNU Public License.&lt;br /&gt;
 The format for the configuration file is as follows:&lt;br /&gt;
 While there is some room for confusion, we attempt to process things in&lt;br /&gt;
 order of specificity: Global first, Group second, User third, OS Type&lt;br /&gt;
 forth. This order can be debated forever, but it seems to make the most&lt;br /&gt;
 sense.&lt;br /&gt;
 # Everything in the Global section applies to all users logging on to the&lt;br /&gt;
 # network&lt;br /&gt;
 [Global]&lt;br /&gt;
 @ECHO &amp;quot;Welcome to our network!!!&amp;quot;&lt;br /&gt;
 NET TIME \\\\servername /SET /YES&lt;br /&gt;
 NET USE F: \\\\servername\\globalshare /YES&lt;br /&gt;
 # Map the private user area in the global section so we don't have to&lt;br /&gt;
 # create individual user entries for each user!&lt;br /&gt;
 NET USE U: \\\\servername\\%U /YES&lt;br /&gt;
 # Group entries, User entries and OS entries each start with the&lt;br /&gt;
 # keyword followed by a dash followed by--appropriately enough the Group&lt;br /&gt;
 # name, the User name, or the OS name.&lt;br /&gt;
 [Group-admin]&lt;br /&gt;
 @ECHO &amp;quot;Welcome administrators!&amp;quot;&lt;br /&gt;
 NET USE G: \\\\servername\\adminshare1 /YES&lt;br /&gt;
 NET USE I: \\\\servername\\adminshare2 /YES&lt;br /&gt;
 [Group-peons]&lt;br /&gt;
 @ECHO &amp;quot;Be grateful we let you use computers!&amp;quot;&lt;br /&gt;
 NET USE G: \\\\servername\\peonshare1 /YES&lt;br /&gt;
 [Group-hackers]&lt;br /&gt;
 @ECHO &amp;quot;What can I do for you today great one?&amp;quot;&lt;br /&gt;
 NET USE G: \\\\servername\\hackershare1 /YES&lt;br /&gt;
 NET USE I: \\\\servername\\adminshare2 /YES&lt;br /&gt;
 [User-fred]&lt;br /&gt;
 @ECHO &amp;quot;Hello there Fred!&amp;quot;&lt;br /&gt;
 NET USE F: \\\\servername\\fredsspecialshare /YES&lt;br /&gt;
 [OS-WfWg]&lt;br /&gt;
 @ECHO &amp;quot;Time to upgrade it?&amp;quot;&lt;br /&gt;
 # End configuration file&lt;br /&gt;
 usage: ntlogon [-g | --group=groupname]&lt;br /&gt;
 [-u | --user=username]&lt;br /&gt;
 [-o | --os=osname]&lt;br /&gt;
 [-m | --machine=netbiosname]&lt;br /&gt;
 [-f | --templatefile=filename]&lt;br /&gt;
 [-d | --dir=netlogon directory]&lt;br /&gt;
 [-v | --version]&lt;br /&gt;
 [-h | --help]&lt;br /&gt;
 [--pause]&lt;br /&gt;
 [--debug]&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #&amp;quot; This quote mark is an artifact of the inability of my editor to&lt;br /&gt;
 # correctly colour code anything after the triple-quoted docstring.&lt;br /&gt;
 # if your editor does not have this flaw, feel free to remove it.&lt;br /&gt;
 import sys&lt;br /&gt;
 import getopt&lt;br /&gt;
 import re&lt;br /&gt;
 import string&lt;br /&gt;
 import os&lt;br /&gt;
 version = &amp;quot;ntlogon.py v0.8&amp;quot;&lt;br /&gt;
 def buildScript(buf, sections, group, user, ostype, machine, debug, pause):&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 buildScript() Takes the contents of the template file and builds&lt;br /&gt;
 a DOS batch file to be executed as an NT logon script. It does this&lt;br /&gt;
 by determining which sections of the configuration file should be included&lt;br /&gt;
 and creating a list object that contains each line contained in each&lt;br /&gt;
 included section. The list object is then returned to the calling&lt;br /&gt;
 routine.&lt;br /&gt;
 All comments (#) are removed. A REM is inserted to show&lt;br /&gt;
 which section of the configuration file each line comes from.&lt;br /&gt;
 We leave blanklines as they are sometimes useful for debugging&lt;br /&gt;
 We also replace all of the Samba macros (e.g., %U, %G, %a, %m) with their&lt;br /&gt;
 expanded versions which have been passed to us by smbd&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 hdrstring = ''&lt;br /&gt;
 script = []&lt;br /&gt;
 #&lt;br /&gt;
 # These are the Samba macros that we currently know about.&lt;br /&gt;
 # any user defined macros will also be added to this dictionary.&lt;br /&gt;
 # We do not store the % sign as part of the macro name.&lt;br /&gt;
 # The replace routine will prepend the % sign to all possible&lt;br /&gt;
 # replacements.&lt;br /&gt;
 #&lt;br /&gt;
 macros = {&lt;br /&gt;
 'U': user,&lt;br /&gt;
 'G': group,&lt;br /&gt;
 'a': ostype,&lt;br /&gt;
 'm': machine&lt;br /&gt;
 }&lt;br /&gt;
 #&lt;br /&gt;
 # Process each section defined in the list sections&lt;br /&gt;
 #&lt;br /&gt;
 for s in sections:&lt;br /&gt;
 # print 'searching for: ' + s&lt;br /&gt;
 idx = 0&lt;br /&gt;
 while idx &amp;lt; len(buf):&lt;br /&gt;
 ln = buf[idx]&lt;br /&gt;
 #&lt;br /&gt;
 # We need to set up a regex for each possible section we&lt;br /&gt;
 # know about. This is slightly complicated due to the fact&lt;br /&gt;
 # that section headers contain user defined text.&lt;br /&gt;
 #&lt;br /&gt;
 if s == 'Global':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *\]'&lt;br /&gt;
 elif s == 'Group':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + group + ' *\]'&lt;br /&gt;
 elif s == 'User':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + user + ' *\]'&lt;br /&gt;
 elif s == 'OS':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + ostype + ' *\]'&lt;br /&gt;
 elif s == 'Machine':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + machine + ' *\]'&lt;br /&gt;
 #&lt;br /&gt;
 # See if we have found a section header&lt;br /&gt;
 #&lt;br /&gt;
 if re.search(r'(?i)' + hdrstring, ln):&lt;br /&gt;
 idx = idx + 1 # increment the counter to move to the next&lt;br /&gt;
 # line.&lt;br /&gt;
 x = re.match(r'([^#\r\n]*)', ln) # Determine the section&lt;br /&gt;
 # name and strip out CR/LF&lt;br /&gt;
 # and comment information&lt;br /&gt;
 if debug:&lt;br /&gt;
 print 'rem ' + x.group(1) + ' commands'&lt;br /&gt;
 else:&lt;br /&gt;
 # create the rem at the beginning of each section of the&lt;br /&gt;
 # logon script.&lt;br /&gt;
 script.append('rem ' + x.group(1) + ' commands')&lt;br /&gt;
 #&lt;br /&gt;
 # process each line until we have found another section&lt;br /&gt;
 # header&lt;br /&gt;
 #&lt;br /&gt;
 while not re.search(r'.*\[.*\].*', buf[idx]):&lt;br /&gt;
 #&lt;br /&gt;
 # strip comments and line endings&lt;br /&gt;
 #&lt;br /&gt;
 x = re.match(r'([^#\r\n]*)', buf[idx])&lt;br /&gt;
 if string.strip(x.group(1)) != '' :&lt;br /&gt;
 # if there is still content after stripping comments and&lt;br /&gt;
 # line endings then this is a line to process&lt;br /&gt;
 line = x.group(1)&lt;br /&gt;
 #&lt;br /&gt;
 # Check to see if this is a macro definition line&lt;br /&gt;
 #&lt;br /&gt;
 vardef = re.match(r'(.*)=(.*)', line)&lt;br /&gt;
 if vardef:&lt;br /&gt;
 varname = string.strip(vardef.group(1)) # Strip leading and&lt;br /&gt;
 varsub = string.strip(vardef.group(2)) # and trailing spaces&lt;br /&gt;
 if varname == '':&lt;br /&gt;
 print &amp;quot;Error: No substition name specified line: %d&amp;quot; % idx&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 if varsub == '':&lt;br /&gt;
 print &amp;quot;Error: No substitution text provided line: %d&amp;quot; % idx&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 if macros.has_key(varname):&lt;br /&gt;
 print &amp;quot;Warning: macro %s redefined line: %d&amp;quot; % (varname, idx)&lt;br /&gt;
 macros[varname] = varsub&lt;br /&gt;
 idx = idx + 1&lt;br /&gt;
 continue&lt;br /&gt;
 #&lt;br /&gt;
 # Replace all the macros that we currently&lt;br /&gt;
 # know about.&lt;br /&gt;
 #&lt;br /&gt;
 # Iterate over the dictionary that contains all known&lt;br /&gt;
 # macro substitutions.&lt;br /&gt;
 #&lt;br /&gt;
 # We test for a macro name by prepending % to each dictionary&lt;br /&gt;
 # key.&lt;br /&gt;
 #&lt;br /&gt;
 for varname in macros.keys():&lt;br /&gt;
 line = re.sub(r'%' + varname + r'(\W)',&lt;br /&gt;
 macros[varname] + r'\1', line)&lt;br /&gt;
 if debug:&lt;br /&gt;
 print line&lt;br /&gt;
 if pause:&lt;br /&gt;
 print 'pause'&lt;br /&gt;
 else:&lt;br /&gt;
 script.append(line)&lt;br /&gt;
 idx = idx + 1&lt;br /&gt;
 if idx == len(buf):&lt;br /&gt;
 break # if we have reached the end of the file&lt;br /&gt;
 # stop processing.&lt;br /&gt;
 idx = idx + 1 # increment the line counter&lt;br /&gt;
 if debug:&lt;br /&gt;
 print ''&lt;br /&gt;
 else:&lt;br /&gt;
 script.append('')&lt;br /&gt;
 return script&lt;br /&gt;
 # End buildScript()&lt;br /&gt;
 def run():&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 run() everything starts here. The main routine reads the command line&lt;br /&gt;
 arguments, opens and reads the configuration file.&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 configfile = '/etc/ntlogon.conf' # Default configuration file&lt;br /&gt;
 group = '' # Default group&lt;br /&gt;
 user = '' # Default user&lt;br /&gt;
 ostype = '' # Default os&lt;br /&gt;
 machine = '' # Default machine type&lt;br /&gt;
 outfile = 'logon.bat' # Default batch file name&lt;br /&gt;
 # this file name WILL take on the form&lt;br /&gt;
 # username.bat if a username is specified&lt;br /&gt;
 debug = 0 # Default debugging mode&lt;br /&gt;
 pause = 0 # Default pause mode&lt;br /&gt;
 outdir = '/usr/local/samba/netlogon/' # Default netlogon directory&lt;br /&gt;
 sections = ['Global', 'Machine', 'OS', 'Group', 'User'] # Currently supported&lt;br /&gt;
 # configuration file&lt;br /&gt;
 # sections&lt;br /&gt;
 options, args = getopt.getopt(sys.argv[1:], 'd:f:g:ho:u:m:v',&lt;br /&gt;
 ['templatefile=',&lt;br /&gt;
 'group=',&lt;br /&gt;
 'help',&lt;br /&gt;
 'os=',&lt;br /&gt;
 'user=',&lt;br /&gt;
 'machine=',&lt;br /&gt;
 'dir=',&lt;br /&gt;
 'version',&lt;br /&gt;
 'pause',&lt;br /&gt;
 'debug'])&lt;br /&gt;
 #&lt;br /&gt;
 # Process the command line arguments&lt;br /&gt;
 #&lt;br /&gt;
 for i in options:&lt;br /&gt;
 # template file to process&lt;br /&gt;
 if (i[0] == '-f') or (i[0] == '--templatefile'):&lt;br /&gt;
 configfile = i[1]&lt;br /&gt;
 # print 'configfile = ' + configfile&lt;br /&gt;
 # define the group to be used&lt;br /&gt;
 elif (i[0] == '-g') or (i[0] == '--group'):&lt;br /&gt;
 group = i[1]&lt;br /&gt;
 # print 'group = ' + group&lt;br /&gt;
 # define the os type&lt;br /&gt;
 elif (i[0] == '-o') or (i[0] == '--os'):&lt;br /&gt;
 ostype = i[1]&lt;br /&gt;
 # print 'os = ' + os&lt;br /&gt;
 # define the user&lt;br /&gt;
 elif (i[0] == '-u') or (i[0] == '--user'):&lt;br /&gt;
 user = i[1]&lt;br /&gt;
 outfile = user + '.bat' # Setup the output file name&lt;br /&gt;
 # print 'user = ' + user&lt;br /&gt;
 # define the machine&lt;br /&gt;
 elif (i[0] == '-m') or (i[0] == '--machine'):&lt;br /&gt;
 machine = i[1]&lt;br /&gt;
 # define the netlogon directory&lt;br /&gt;
 elif (i[0] == '-d') or (i[0] == '--dir'):&lt;br /&gt;
 outdir = i[1]&lt;br /&gt;
 # print 'outdir = ' + outdir&lt;br /&gt;
 # if we are asked to turn on debug info, do so.&lt;br /&gt;
 elif (i[0] == '--debug'):&lt;br /&gt;
 debug = 1&lt;br /&gt;
 # print 'debug = ' + debug&lt;br /&gt;
 # if we are asked to turn on the automatic pause functionality, do so&lt;br /&gt;
 elif (i[0] == '--pause'):&lt;br /&gt;
 pause = 1&lt;br /&gt;
 # print 'pause = ' + pause&lt;br /&gt;
 # if we are asked for the version number, print it.&lt;br /&gt;
 elif (i[0] == '-v') or (i[0] == '--version'):&lt;br /&gt;
 print version&lt;br /&gt;
 sys.exit(0)&lt;br /&gt;
 # if we are asked for help print the docstring.&lt;br /&gt;
 elif (i[0] == '-h') or (i[0] == '--help'):&lt;br /&gt;
 print __doc__&lt;br /&gt;
 sys.exit(0)&lt;br /&gt;
 #&lt;br /&gt;
 # open the configuration file&lt;br /&gt;
 #&lt;br /&gt;
 try:&lt;br /&gt;
 iFile = open(configfile, 'r')&lt;br /&gt;
 except IOError:&lt;br /&gt;
 print 'Unable to open configuration file: ' + configfile&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 #&lt;br /&gt;
 # open the output file&lt;br /&gt;
 #&lt;br /&gt;
 if not debug:&lt;br /&gt;
 try:&lt;br /&gt;
 oFile = open(outdir + outfile, 'w')&lt;br /&gt;
 except IOError:&lt;br /&gt;
 print 'Unable to open logon script file: ' + outdir + outfile&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 buf = iFile.readlines() # read in the entire configuration file&lt;br /&gt;
 #&lt;br /&gt;
 # call the script building routine&lt;br /&gt;
 #&lt;br /&gt;
 script = buildScript(buf, sections, group, user, ostype, machine, debug, pause)&lt;br /&gt;
 #&lt;br /&gt;
 # write out the script file&lt;br /&gt;
 #&lt;br /&gt;
 if not debug:&lt;br /&gt;
 for ln in script:&lt;br /&gt;
 oFile.write(ln + '\r\n')&lt;br /&gt;
 if pause:&lt;br /&gt;
 if string.strip(ln) != '': # Because whitespace&lt;br /&gt;
 oFile.write('pause' + '\r\n') # is a useful tool, we&lt;br /&gt;
 # don't put pauses after&lt;br /&gt;
 # an empty line.&lt;br /&gt;
 # End run()&lt;br /&gt;
 #&lt;br /&gt;
 # immediate-mode commands, for drag-and-drop or execfile() execution&lt;br /&gt;
 #i&lt;br /&gt;
 f __name__ == '__main__':&lt;br /&gt;
 run()&lt;br /&gt;
 else:&lt;br /&gt;
 print &amp;quot;Module ntlogon.py imported.&amp;quot;&lt;br /&gt;
 print &amp;quot;To run, type: ntlogon.run()&amp;quot;&lt;br /&gt;
 print &amp;quot;To reload after changes to the source, type: reload(ntlogon)&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # End NTLogon.py&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
=== Avviare Samba ===&lt;br /&gt;
&lt;br /&gt;
su Fedora:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/samba start&lt;br /&gt;
&lt;br /&gt;
su Slacware:&lt;br /&gt;
&lt;br /&gt;
 /etc/rc.d/rc.samba start&lt;br /&gt;
&lt;br /&gt;
== Inizializzazione del database di LDAP ==&lt;br /&gt;
&lt;br /&gt;
Eseguire lo script configure.PL in /var/lib/samba/sbin ( o comunque dove avete scelto di salvarlo) poi eseguire lo script smbldap-populate per creare l'amminstratore del dominio, alcuni gruppi e vari altri elementi.&lt;br /&gt;
&lt;br /&gt;
Creare i dischi condivisi e gli utenti per l'amministrazione di quelle condivisioni:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/samba/sbin&lt;br /&gt;
 ./smbldap-groupadd ricerca&lt;br /&gt;
 ./smbldap-groupadd finanze&lt;br /&gt;
 ./smbldap-groupadd amministrazione&lt;br /&gt;
 ./smbldap-useradd -s /sbin/nologin -m -g ricerca ricerca&lt;br /&gt;
 ./smbldap-useradd -s /sbin/nologin -m -g finanze finanze&lt;br /&gt;
 ./smbldap-useradd -s /sbin/nologin -m -g amministrazione amministrazione&lt;br /&gt;
&lt;br /&gt;
Aggiungere l'utente samba alla Directory con:&lt;br /&gt;
&lt;br /&gt;
 smbldap-useradd -s /bin/false -d /dev/null -P samba.&lt;br /&gt;
&lt;br /&gt;
Impostare la password quando richiesta, nel file ldap.conf modificare il campo binddn con&lt;br /&gt;
&lt;br /&gt;
 uid=samba,ou=Users,dc=miodominio,dc=com e bindpw con la password di prima,&lt;br /&gt;
&lt;br /&gt;
(cambaiate i parametri a seconda della vostra configurazione! io ho dc=chrix,dc=lan)&lt;br /&gt;
&lt;br /&gt;
Dopo aver aggiunto alcuni utenti al sistema, potete aggiungere una workstation windows xp professional o windows 2000 al dominio.&lt;br /&gt;
&lt;br /&gt;
Per semplicità potete usare un tool grafico come phpLdapAdmin per amministrare la Directory, Da shell, per aggiungere l'utente pippo al gruppo ricerca, la sintassi è la seguente:&lt;br /&gt;
&lt;br /&gt;
 smbldap-useradd -a -G “Domain Users”, ricerca pippo&lt;br /&gt;
 smbldap-passwd pippo&lt;br /&gt;
&lt;br /&gt;
Ora godetevi il vostro nuovo Directory Server! Soluzione meno costosa di RHEL... (Red Hat Enterprise Linux)&lt;br /&gt;
&lt;br /&gt;
== Autore ==&lt;br /&gt;
&lt;br /&gt;
Spero di esser stato abbastanza esauriente sull'argomento. Per qualsiasi suggerimento o segnalazione, potete inviarmi una mail all'indirizzo: [mailto:chrix@slacky.it chrix@slacky.it]&lt;br /&gt;
&lt;br /&gt;
La riproduzione anche parziale di questa guida è consentita previo accordo dell'autore.&lt;br /&gt;
Christian Eric E.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T09:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
* Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
&lt;br /&gt;
** ''Crypt::SmbHash'';&lt;br /&gt;
** ''Digest::SHA1'';&lt;br /&gt;
** ''IO::Socket::SSL'';&lt;br /&gt;
** ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
* Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
&lt;br /&gt;
* Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;br /&gt;
&lt;br /&gt;
Ora creare una cartella per il database di LDAP&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /var/lib/ldap/miodominio.com&lt;br /&gt;
 chmod 700 /var/lib/ldap/miodominio.com&lt;br /&gt;
 chown ldap:ldap /var/lib/ldap/miodominio.com&lt;br /&gt;
&lt;br /&gt;
In Fedora l'utente ldap viene creato all'installazione di OpenLDAP, in altre distribuzioni bisogna spesso crearlo a mano!&lt;br /&gt;
&lt;br /&gt;
Infine creare le chiavi che OpenLDAP usa per la criptazione dei dati, per fare ciò è necessario il pacchetto OpenSSL già incluso nella maggior parte delle distribuzioni; altrimenti potete scaricarlo dal [http://www.openssl.org/ sito].&lt;br /&gt;
&lt;br /&gt;
Questo howto descrive come autofirmare i propri cerficati (cioè essere una Certificate Authority: CA).&lt;br /&gt;
&lt;br /&gt;
* Con il comando locate openssl.cnf individuare il file openssl.cnf ed editarlo a secondo la vostra configurazione, ad esempio cambiare il paese in IT, il nome dell'orgarnizazione in miodominio.com ( di default si trova in /etc/ssl/openssl.cnf );&lt;br /&gt;
* Nella stessa cartella di openssl.cnf digittare i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p CA/certs CA/crl CA/newcerts CA/private&lt;br /&gt;
 chmod 700 CA/private&lt;br /&gt;
 touch CA/index.txt&lt;br /&gt;
 echo 01 &amp;gt; CA/serial&lt;br /&gt;
&lt;br /&gt;
* Creare il certificato della CA e la chiave con il comando:&lt;br /&gt;
&lt;br /&gt;
 openssl req -nodes -config openssl.cnf -new -x509 -keyout CA/private/cakey.pem -out CA/cacert.pem -days 3650&lt;br /&gt;
&lt;br /&gt;
* Creare la chiave per OpenLDAP con questi comandi:&lt;br /&gt;
&lt;br /&gt;
 openssl req -config openssl.cnf -nodes -new -keyout /etc/openldap/slapd-key.pem -out slapd.csr&lt;br /&gt;
 openssl ca -config openssl.cnf -out /etc/openldap/slapd-cert.pem -in slapd.csr&lt;br /&gt;
&lt;br /&gt;
* Impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chown root:ldap /etc/openldap/slapd-key.pem&lt;br /&gt;
 chmod 640 /etc/openldap/slapd-key.pem&lt;br /&gt;
 chmod 644 /etc/openldap/slapd-cert.pem&lt;br /&gt;
&lt;br /&gt;
* Copiare il certificato CA nella cartella di configurazione in modo vari apllicazioni possano accedervi:&lt;br /&gt;
&lt;br /&gt;
 cp CA/cacert.pem /etc/openldap&lt;br /&gt;
 chmod 644 /etc/openldap/cacert.pem&lt;br /&gt;
&lt;br /&gt;
* Configurare il file slapd.conf. Il demone di OpenLDAP si chiam slapd, e legge le configurazioni dal file slapd.conf, prima di editare quel file bisogna generare l'impronta della password per l'admin rootdn (root distinguished name), per fare ciò usare l'utility slappasswd come segue:&lt;br /&gt;
&lt;br /&gt;
 slappasswd -h {SSHA} -s password_desiderata&lt;br /&gt;
 &lt;br /&gt;
Salvare l'output di quel comando in un file ad esempio utilizzando le redirezioni “&amp;gt;”, perché verrà usato in seguito.&lt;br /&gt;
&lt;br /&gt;
Con la mia Slackware ottengo:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:/etc/openldap# slappasswd -h {SSHA} -s slacky123&lt;br /&gt;
 {SSHA}edkSLDngACZohmpeSlzsz7/P8u3Hr4jD&lt;br /&gt;
 root@chrix:/etc/openldap#&lt;br /&gt;
&lt;br /&gt;
esempio di file /etc/openldap/slapd.conf da modificare in funzione della propria configurazione:&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # See slapd.conf(5) for details on configuration options.&lt;br /&gt;
 # This file should NOT be world readable.&lt;br /&gt;
 #include /etc/openldap/schema/core.schema&lt;br /&gt;
 include /etc/openldap/schema/samba.schema&lt;br /&gt;
 # Define global ACLs to disable default read access.&lt;br /&gt;
 # Do not enable referrals until AFTER you have a working directory&lt;br /&gt;
 # service AND an understanding of referrals.&lt;br /&gt;
 #referral ldap://root.openldap.org&lt;br /&gt;
 pidfile /var/run/slapd.pid&lt;br /&gt;
 argsfile /var/run/slapd.args&lt;br /&gt;
 # Load dynamic backend modules:&lt;br /&gt;
 # modulepath /usr/libexec/openldap&lt;br /&gt;
 # moduleload back_bdb.la&lt;br /&gt;
 # moduleload back_ldap.la&lt;br /&gt;
 # moduleload back_ldbm.la&lt;br /&gt;
 # moduleload back_passwd.la&lt;br /&gt;
 # moduleload back_shell.la&lt;br /&gt;
 # Sample security restrictions&lt;br /&gt;
 # Require integrity protection (prevent hijacking)&lt;br /&gt;
 # Require 112-bit (3DES or better) encryption for updates&lt;br /&gt;
 # Require 63-bit encryption for simple bind&lt;br /&gt;
 # security ssf=1 update_ssf=112 simple_bind=64&lt;br /&gt;
 # Sample access control policy:&lt;br /&gt;
 # Root DSE: allow anyone to read it&lt;br /&gt;
 # Subschema (sub)entry DSE: allow anyone to read it&lt;br /&gt;
 # Other DSEs:&lt;br /&gt;
 # Allow self write access&lt;br /&gt;
 # Allow authenticated users read access&lt;br /&gt;
 # Allow anonymous users to authenticate&lt;br /&gt;
 # Directives needed to implement policy:&lt;br /&gt;
 # access to dn.base=&amp;quot;&amp;quot; by * read&lt;br /&gt;
 # access to dn.base=&amp;quot;cn=Subschema&amp;quot; by * read&lt;br /&gt;
 # access to *&lt;br /&gt;
 # by self write&lt;br /&gt;
 # by users read&lt;br /&gt;
 # by anonymous auth&lt;br /&gt;
 #&lt;br /&gt;
 # if no access controls are present, the default policy&lt;br /&gt;
 # allows anyone and everyone to read anything but restricts&lt;br /&gt;
 # updates to rootdn. (e.g., &amp;quot;access to * by * read&amp;quot;)&lt;br /&gt;
 #&lt;br /&gt;
 # rootdn can always read and write EVERYTHING!&lt;br /&gt;
 #######################################################################&lt;br /&gt;
 # BDB database definitions&lt;br /&gt;
 #######################################################################&lt;br /&gt;
 database bdb&lt;br /&gt;
 suffix &amp;quot;dc=miodominio,dc=com&amp;quot;&lt;br /&gt;
 rootdn &amp;quot;cn=Manager,dc=miodominio,dc=com&amp;quot;&lt;br /&gt;
 # Cleartext passwords, especially for the rootdn, should&lt;br /&gt;
 # be avoid. See slappasswd(8) and slapd.conf(5) for details.&lt;br /&gt;
 # Use of strong authentication encouraged.&lt;br /&gt;
 # qui la password con slappasswd&lt;br /&gt;
 rootpw {SSHA}edkSLDngACZohmpeSlzsz7/P8u3Hr4jD&lt;br /&gt;
 # The database directory MUST exist prior to running slapd AND&lt;br /&gt;
 # should only be accessible by the slapd and slap tools.&lt;br /&gt;
 # Mode 700 recommended.&lt;br /&gt;
 directory /var/openldap-data&lt;br /&gt;
 # Indices to maintain&lt;br /&gt;
 index objectClass eq&lt;br /&gt;
&lt;br /&gt;
=== Configurare /etc/ldap.conf ===&lt;br /&gt;
&lt;br /&gt;
il file /etc/ldap.conf è usato dai client LDAP sul computer locale quali PAM che l'interfaccia usata da samba per l'autenticazione con il server LDAP, il file ldap.conf da usare è quello impostato per funzionare con PAM, per sapere quale configurazione usare impartire i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 strings /lib/libnss_ldap.so.2 | grep conf&lt;br /&gt;
&lt;br /&gt;
il valore ritornato dovrebbe essere:&lt;br /&gt;
&lt;br /&gt;
 /etc/ldap.conf&lt;br /&gt;
&lt;br /&gt;
Esempio di file /etc/ldap.conf da modificare in funzione della propria configurazione:&lt;br /&gt;
&lt;br /&gt;
#@(#)$Id: ldap.conf,v 2.43 2005/05/25 00:05:08 lukeh Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # This is the configuration file for the LDAP nameservice&lt;br /&gt;
 # switch library and the LDAP PAM module.&lt;br /&gt;
 #&lt;br /&gt;
 # PADL Software&lt;br /&gt;
 # http://www.padl.com&lt;br /&gt;
 #&lt;br /&gt;
 # Your LDAP server. Must be resolvable without using LDAP.&lt;br /&gt;
 # Multiple hosts may be specified, each separated by a&lt;br /&gt;
 # space. How long nss_ldap takes to failover depends on&lt;br /&gt;
 # whether your LDAP client library supports configurable&lt;br /&gt;
 # network or connect timeouts (see bind_timelimit).&lt;br /&gt;
 host 127.0.0.1&lt;br /&gt;
 # The distinguished name of the search base.&lt;br /&gt;
 base dc=chrix,dc=lan&lt;br /&gt;
 # Another way to specify your LDAP server is to provide an&lt;br /&gt;
 # uri with the server name. This allows to use&lt;br /&gt;
 # Unix Domain Sockets to connect to a local LDAP Server.&lt;br /&gt;
 #uri ldap://127.0.0.1/&lt;br /&gt;
 uri ldaps://127.0.0.1/&lt;br /&gt;
 #uri ldapi://%2fvar%2frun%2fldapi_sock/&lt;br /&gt;
 # Note: %2f encodes the '/' used as directory separator&lt;br /&gt;
 # The LDAP version to use (defaults to 3&lt;br /&gt;
 # if supported by client library)&lt;br /&gt;
 #ldap_version 3&lt;br /&gt;
 # The distinguished name to bind to the server with.&lt;br /&gt;
 # Optional: default is to bind anonymously.&lt;br /&gt;
 binddn cn=Manager,dc=chrix,dc=lan&lt;br /&gt;
 # The credentials to bind with.&lt;br /&gt;
 # Optional: default is no credential.&lt;br /&gt;
 bindpw {SSHA}gk/Q2Imacloss8Kobm6MvQF3MrHVZNnJ&lt;br /&gt;
 # The distinguished name to bind to the server with&lt;br /&gt;
 # if the effective user ID is root. Password is&lt;br /&gt;
 # stored in /etc/ldap.secret (mode 600)&lt;br /&gt;
 rootbinddn cn=manager,dc=chrix,dc=lan&lt;br /&gt;
 # The port.&lt;br /&gt;
 # Optional: default is 389.&lt;br /&gt;
 port 389&lt;br /&gt;
 # The search scope.&lt;br /&gt;
 #scope sub&lt;br /&gt;
 #scope one&lt;br /&gt;
 #scope base&lt;br /&gt;
 # Search timelimit&lt;br /&gt;
 #timelimit 30&lt;br /&gt;
 # Bind/connect timelimit&lt;br /&gt;
 #bind_timelimit 30&lt;br /&gt;
 # Reconnect policy:&lt;br /&gt;
 # hard_open: reconnect to DSA with exponential backoff if&lt;br /&gt;
 # opening connection failed&lt;br /&gt;
 # hard_init: reconnect to DSA with exponential backoff if&lt;br /&gt;
 # initializing connection failed&lt;br /&gt;
 # hard: alias for hard_open&lt;br /&gt;
 # soft: return immediately on server failure&lt;br /&gt;
 #bind_policy hard&lt;br /&gt;
 # Idle timelimit; client will close connections&lt;br /&gt;
 # (nss_ldap only) if the server has not been contacted&lt;br /&gt;
 # for the number of seconds specified below.&lt;br /&gt;
 #idle_timelimit 3600&lt;br /&gt;
 # Pagesize: when configured with --enable-paged-results allow&lt;br /&gt;
 # to set the pagesize to a custom value&lt;br /&gt;
 #pagesize 1000&lt;br /&gt;
 # Filter to AND with uid=%s&lt;br /&gt;
 pam_filter objectclass=account&lt;br /&gt;
 # The user ID attribute (defaults to uid)&lt;br /&gt;
 pam_login_attribute uid&lt;br /&gt;
 # Search the root DSE for the password policy (works&lt;br /&gt;
 # with Netscape Directory Server)&lt;br /&gt;
 #pam_lookup_policy yes&lt;br /&gt;
 # Check the 'host' attribute for access control&lt;br /&gt;
 # Default is no; if set to yes, and user has no&lt;br /&gt;
 # value for the host attribute, and pam_ldap is&lt;br /&gt;
 # configured for account management (authorization)&lt;br /&gt;
 # then the user will not be allowed to login.&lt;br /&gt;
 #pam_check_host_attr yes&lt;br /&gt;
 # Check the 'authorizedService' attribute for access&lt;br /&gt;
 # control&lt;br /&gt;
 # Default is no; if set to yes, and the user has no&lt;br /&gt;
 # value for the authorizedService attribute, and&lt;br /&gt;
 # pam_ldap is configured for account management&lt;br /&gt;
 # (authorization) then the user will not be allowed&lt;br /&gt;
 # to login.&lt;br /&gt;
 #pam_check_service_attr yes&lt;br /&gt;
 # Group to enforce membership of&lt;br /&gt;
 #pam_groupdn cn=PAM,ou=Groups,dc=padl,dc=com&lt;br /&gt;
 # Group member attribute&lt;br /&gt;
 #pam_member_attribute uniquemember&lt;br /&gt;
 # Specify a minium or maximum UID number allowed&lt;br /&gt;
 #pam_min_uid 0&lt;br /&gt;
 #pam_max_uid 0&lt;br /&gt;
 # Template login attribute, default template user&lt;br /&gt;
 # (can be overriden by value of former attribute&lt;br /&gt;
 # in user's entry)&lt;br /&gt;
 #pam_login_attribute userPrincipalName&lt;br /&gt;
 #pam_template_login_attribute uid&lt;br /&gt;
 #pam_template_login nobody&lt;br /&gt;
 # HEADS UP: the pam_crypt, pam_nds_passwd,&lt;br /&gt;
 # and pam_ad_passwd options are no&lt;br /&gt;
 # longer supported.&lt;br /&gt;
 #&lt;br /&gt;
 # If you are using XAD, you can set pam_password&lt;br /&gt;
 # to racf, ad, or exop. Make sure that you have&lt;br /&gt;
 # SSL enabled.&lt;br /&gt;
 # Do not hash the password at all; presume&lt;br /&gt;
 # the directory server will do it, if&lt;br /&gt;
 # necessary. This is the default.&lt;br /&gt;
 #pam_password clear&lt;br /&gt;
 # Hash password locally; required for University of&lt;br /&gt;
 # Michigan LDAP server, and works with Netscape&lt;br /&gt;
 # Directory Server if you're using the UNIX-Crypt&lt;br /&gt;
 # hash mechanism and not using the NT Synchronization&lt;br /&gt;
 # service.&lt;br /&gt;
 pam_password crypt&lt;br /&gt;
 # Remove old password first, then update in&lt;br /&gt;
 # cleartext. Necessary for use with Novell&lt;br /&gt;
 # Directory Services (NDS)&lt;br /&gt;
 #pam_password nds&lt;br /&gt;
 # RACF is an alias for the above. For use with&lt;br /&gt;
 # IBM RACF&lt;br /&gt;
 #pam_password racf&lt;br /&gt;
 # Update Active Directory password, by&lt;br /&gt;
 # creating Unicode password and updating&lt;br /&gt;
 # unicodePwd attribute.&lt;br /&gt;
 pam_password ad&lt;br /&gt;
 # Use the OpenLDAP password change&lt;br /&gt;
 # extended operation to update the password.&lt;br /&gt;
 #pam_password exop&lt;br /&gt;
 # Redirect users to a URL or somesuch on password&lt;br /&gt;
 # changes.&lt;br /&gt;
 #pam_password_prohibit_message Please visit http://internal to change your password.&lt;br /&gt;
 # RFC2307bis naming contexts&lt;br /&gt;
 # Syntax:&lt;br /&gt;
 # nss_base_XXX base?scope?filter&lt;br /&gt;
 # where scope is {base,one,sub}&lt;br /&gt;
 # and filter is a filter to be &amp;amp;'d with the&lt;br /&gt;
 # default filter.&lt;br /&gt;
 # You can omit the suffix eg:&lt;br /&gt;
 # nss_base_passwd ou=People,&lt;br /&gt;
 # to append the default base DN but this&lt;br /&gt;
 # may incur a small performance impact.&lt;br /&gt;
 nss_base_passwd ou=Users,dc=chrix,dc=lan?one&lt;br /&gt;
 nss_base_passwd ou=Computers,dc=chrix,dc=lan?one&lt;br /&gt;
 nss_base_shadow ou=Users,dc=chrix,dc=lan?one&lt;br /&gt;
 nss_base_group ou=Groups,dc=chrix,dc=lan?one&lt;br /&gt;
 #nss_base_hosts ou=Hosts,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_services ou=Services,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_networks ou=Networks,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_protocols ou=Protocols,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_rpc ou=Rpc,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_ethers ou=Ethers,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_netmasks ou=Networks,dc=padl,dc=com?ne&lt;br /&gt;
 #nss_base_bootparams ou=Ethers,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_aliases ou=Aliases,dc=padl,dc=com?one&lt;br /&gt;
 #nss_base_netgroup ou=Netgroup,dc=padl,dc=com?one&lt;br /&gt;
 # attribute/objectclass mapping&lt;br /&gt;
 # Syntax:&lt;br /&gt;
 #nss_map_attribute rfc2307attribute mapped_attribute&lt;br /&gt;
 #nss_map_objectclass rfc2307objectclassmapped_objectclass&lt;br /&gt;
 # configure --enable-nds is no longer supported.&lt;br /&gt;
 # NDS mappings&lt;br /&gt;
 #nss_map_attribute uniqueMember member&lt;br /&gt;
 # Services for UNIX 3.5 mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount User&lt;br /&gt;
 #nss_map_objectclass shadowAccount User&lt;br /&gt;
 #nss_map_attribute uid msSFU30Name&lt;br /&gt;
 #nss_map_attribute uniqueMember msSFU30PosixMember&lt;br /&gt;
 #nss_map_attribute userPassword msSFU30Password&lt;br /&gt;
 #nss_map_attribute homeDirectory msSFU30HomeDirectory&lt;br /&gt;
 #nss_map_attribute homeDirectory msSFUHomeDirectory&lt;br /&gt;
 #nss_map_objectclass posixGroup Group&lt;br /&gt;
 #pam_login_attribute msSFU30Name&lt;br /&gt;
 #pam_filter objectclass=User&lt;br /&gt;
 #pam_password ad&lt;br /&gt;
 # configure --enable-mssfu-schema is no longer supported.&lt;br /&gt;
 # Services for UNIX 2.0 mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount User&lt;br /&gt;
 #nss_map_objectclass shadowAccount user&lt;br /&gt;
 #nss_map_attribute uid msSFUName&lt;br /&gt;
 #nss_map_attribute uniqueMember posixMember&lt;br /&gt;
 #nss_map_attribute userPassword msSFUPassword&lt;br /&gt;
 #nss_map_attribute homeDirectory msSFUHomeDirectory&lt;br /&gt;
 #nss_map_attribute shadowLastChange pwdLastSet&lt;br /&gt;
 #nss_map_objectclass posixGroup Group&lt;br /&gt;
 #nss_map_attribute cn msSFUName&lt;br /&gt;
 #pam_login_attribute msSFUName&lt;br /&gt;
 #pam_filter objectclass=User&lt;br /&gt;
 #pam_password ad&lt;br /&gt;
 # RFC 2307 (AD) mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount user&lt;br /&gt;
 #nss_map_objectclass shadowAccount user&lt;br /&gt;
 #nss_map_attribute uid sAMAccountName&lt;br /&gt;
 #nss_map_attribute homeDirectory unixHomeDirectory&lt;br /&gt;
 #nss_map_attribute shadowLastChange pwdLastSet&lt;br /&gt;
 #nss_map_objectclass posixGroup group&lt;br /&gt;
 #nss_map_attribute uniqueMember member&lt;br /&gt;
 #pam_login_attribute sAMAccountName&lt;br /&gt;
 #pam_filter objectclass=User&lt;br /&gt;
 #pam_password ad&lt;br /&gt;
 # configure --enable-authpassword is no longer supported&lt;br /&gt;
 # AuthPassword mappings&lt;br /&gt;
 #nss_map_attribute userPassword authPassword&lt;br /&gt;
 # AIX SecureWay mappings&lt;br /&gt;
 #nss_map_objectclass posixAccount aixAccount&lt;br /&gt;
 #nss_base_passwd ou=aixaccount,?one&lt;br /&gt;
 #nss_map_attribute uid userName&lt;br /&gt;
 #nss_map_attribute gidNumber gid&lt;br /&gt;
 #nss_map_attribute uidNumber uid&lt;br /&gt;
 #nss_map_attribute userPassword passwordChar&lt;br /&gt;
 #nss_map_objectclass posixGroup aixAccessGroup&lt;br /&gt;
 #nss_base_group ou=aixgroup,?one&lt;br /&gt;
 #nss_map_attribute cn groupName&lt;br /&gt;
 #nss_map_attribute uniqueMember member&lt;br /&gt;
 #pam_login_attribute userName&lt;br /&gt;
 #pam_filter objectclass=aixAccount&lt;br /&gt;
 pam_password md5&lt;br /&gt;
 # For pre-RFC2307bis automount schema&lt;br /&gt;
 #nss_map_objectclass automountMap nisMap&lt;br /&gt;
 #nss_map_attribute automountMapName nisMapName&lt;br /&gt;
 #nss_map_objectclass automount nisObject&lt;br /&gt;
 #nss_map_attribute automountKey cn&lt;br /&gt;
 #nss_map_attribute automountInformation nisMapEntry&lt;br /&gt;
 # Netscape SDK LDAPS&lt;br /&gt;
 #ssl on&lt;br /&gt;
 # Netscape SDK SSL options&lt;br /&gt;
 #sslpath /etc/ssl/certs/cert7.db&lt;br /&gt;
 # OpenLDAP SSL mechanism&lt;br /&gt;
 # start_tls mechanism uses the normal LDAP port, LDAPS typically 636&lt;br /&gt;
 #ssl start_tls&lt;br /&gt;
 ssl off&lt;br /&gt;
 # OpenLDAP SSL options&lt;br /&gt;
 # Require and verify server certificate (yes/no)&lt;br /&gt;
 # Default is to use libldap's default behavior, which can be configured in&lt;br /&gt;
 # /etc/openldap/ldap.conf using the TLS_REQCERT setting. The default for&lt;br /&gt;
 # OpenLDAP 2.0 and earlier is &amp;quot;no&amp;quot;, for 2.1 and later is &amp;quot;yes&amp;quot;.&lt;br /&gt;
 #tls_checkpeer yes&lt;br /&gt;
 # CA certificates for server certificate verification&lt;br /&gt;
 # At least one of these are required if tls_checkpeer is &amp;quot;yes&amp;quot;&lt;br /&gt;
 #tls_cacertfile /etc/ssl/ca.cert&lt;br /&gt;
 #tls_cacertdir /etc/ssl/certs&lt;br /&gt;
 # Seed the PRNG if /dev/urandom is not provided&lt;br /&gt;
 #tls_randfile /var/run/egd-pool&lt;br /&gt;
 # SSL cipher suite&lt;br /&gt;
 # See man ciphers for syntax&lt;br /&gt;
 #tls_ciphers TLSv1&lt;br /&gt;
 # Client certificate and key&lt;br /&gt;
 # Use these, if your server requires client authentication.&lt;br /&gt;
 #tls_cert&lt;br /&gt;
 #tls_key&lt;br /&gt;
 # Disable SASL security layers. This is needed for AD.&lt;br /&gt;
 #sasl_secprops maxssf=0&lt;br /&gt;
 # Override the default Kerberos ticket cache location.&lt;br /&gt;
 #krb5_ccname FILE:/etc/.ldapcache&lt;br /&gt;
 &lt;br /&gt;
=== Configurare PAM ===&lt;br /&gt;
&lt;br /&gt;
La Fedora core include un utility a riga di comando per la configurazione di PAM chiamto authconfig, le altre distribuzioni di Linux possono usare il tool webmin, c'è un modulo perl per la configurazione di PAM.&lt;br /&gt;
&lt;br /&gt;
Da shell digitare:&lt;br /&gt;
&lt;br /&gt;
 authconfig&lt;br /&gt;
&lt;br /&gt;
e selezionare Use LDAP, Use MD5 Passwords, Use shadow Passwords e Use LDAP Authentication nelle impostazioni di LDAP, abilitare TLS, alla voce Server mettere l'indirizzo 127.0.0.1, e infine nella voce Base DN mettere i valori relativi alla vostra configurazione ad esempio: dc=miodominio,dc=com (sostituite “miodominio” e “com” con i valori che desiderate!)&lt;br /&gt;
&lt;br /&gt;
=== Avviare OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
su Fedora:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ldap start&lt;br /&gt;
&lt;br /&gt;
su Slackware:&lt;br /&gt;
&lt;br /&gt;
 /etc/rc.d/rc.ldap start&lt;br /&gt;
&lt;br /&gt;
== Configurazione di Samba ==&lt;br /&gt;
&lt;br /&gt;
Se non è già presente nel sistema, è possibile scaricarlo dal [http://samba.org sito] oppure prelevare la versione precompilata per la propria distribuzione nei repository.&lt;br /&gt;
&lt;br /&gt;
Esempio di file /etc/samba/smb.conf completo da modificare a seconda della vostra configurazione (ad esempio cambiare il percorso da /opt/IDEALX a /var/lib/samba/... )&lt;br /&gt;
&lt;br /&gt;
 # Global parameters&lt;br /&gt;
 [global]&lt;br /&gt;
 workgroup = TUX-NET&lt;br /&gt;
 netbios name = PDC-SRV&lt;br /&gt;
 security = user&lt;br /&gt;
 enable privileges = yes&lt;br /&gt;
 server string = Samba Server %v&lt;br /&gt;
 encrypt passwords = Yes&lt;br /&gt;
 min passwd length = 3&lt;br /&gt;
 unix password sync = Yes&lt;br /&gt;
 passwd program = /opt/IDEALX/sbin/smbldap-passwd -u %u&lt;br /&gt;
 passwd chat = &amp;quot;Changing password for*\nNew password*&amp;quot; %n\n &amp;quot;*Retype new password*&amp;quot; %n\n&amp;quot;&lt;br /&gt;
 log level = 0&lt;br /&gt;
 syslog = 0&lt;br /&gt;
 log file = /var/log/samba/log.%m&lt;br /&gt;
 max log size = 100000&lt;br /&gt;
 time server = Yes&lt;br /&gt;
 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;
 mangling method = hash2&lt;br /&gt;
 Dos charset = 850&lt;br /&gt;
 Unix charset = ISO8859-1&lt;br /&gt;
 logon drive = H:&lt;br /&gt;
 logon home =&lt;br /&gt;
 logon path =&lt;br /&gt;
 domain logons = Yes&lt;br /&gt;
 domain master = Yes&lt;br /&gt;
 os level = 65&lt;br /&gt;
 preferred master = Yes&lt;br /&gt;
 wins support = yes&lt;br /&gt;
 passdb backend = ldapsam:ldap://127.0.0.1/&lt;br /&gt;
 ldap admin dn = cn=Manager,dc=chrix,dc=lan&lt;br /&gt;
 ldap suffix = dc=chrix,dc=lan&lt;br /&gt;
 ldap group suffix = ou=Groups&lt;br /&gt;
 ldap user suffix = ou=Users&lt;br /&gt;
 ldap machine suffix = ou=Computers&lt;br /&gt;
 add user script = /opt/IDEALX/sbin/smbldap-useradd -m &amp;quot;%u&amp;quot;&lt;br /&gt;
 delete user script = /opt/IDEALX/sbin/smbldap-userdel &amp;quot;%u&amp;quot;&lt;br /&gt;
 add machine script = /opt/IDEALX/sbin/smbldap-useradd -t 0 -w &amp;quot;%u&amp;quot;&lt;br /&gt;
 add group script = /opt/IDEALX/sbin/smbldap-groupadd -p &amp;quot;%g&amp;quot;&lt;br /&gt;
 delete group script = /opt/IDEALX/sbin/smbldap-groupdel &amp;quot;%g&amp;quot;&lt;br /&gt;
 add user to group script = /opt/IDEALX/sbin/smbldap-groupmod -m &amp;quot;%u&amp;quot; &amp;quot;%g&amp;quot;&lt;br /&gt;
 delete user from group script = /opt/IDEALX/sbin/smbldap-groupmod -x &amp;quot;%u&amp;quot; &amp;quot;%g&amp;quot;&lt;br /&gt;
 set primary group script = /opt/IDEALX/sbin/smbldap-usermod -g '%g' '%u'&lt;br /&gt;
 # printers configuration&lt;br /&gt;
 printer admin = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 load printers = Yes&lt;br /&gt;
 create mask = 0640&lt;br /&gt;
 directory mask = 0750&lt;br /&gt;
 nt acl support = No&lt;br /&gt;
 printing = cups&lt;br /&gt;
 printcap name = cups&lt;br /&gt;
 deadtime = 10&lt;br /&gt;
 guest account = nobody&lt;br /&gt;
 map to guest = Bad User&lt;br /&gt;
 dont descend = /proc,/dev,/etc,/lib,/lost+found,/initrd&lt;br /&gt;
 show add printer wizard = yes&lt;br /&gt;
 ; to maintain capital letters in shortcuts in any of the profile folders:&lt;br /&gt;
 preserve case = yes&lt;br /&gt;
 short preserve case = yes&lt;br /&gt;
 case sensitive = no&lt;br /&gt;
 [netlogon]&lt;br /&gt;
 path = /home/netlogon/&lt;br /&gt;
 browseable = No&lt;br /&gt;
 read only = yes&lt;br /&gt;
 #lo script logon.py permette di montare automaticamente i dischi all'accesso verrà discusso più avanti&lt;br /&gt;
 root preexec = /home/netlogon/logon.py %U %I&lt;br /&gt;
 [finanze]&lt;br /&gt;
 path = /home/finanze&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0770&lt;br /&gt;
 directory mask = 0770&lt;br /&gt;
 browsable = no&lt;br /&gt;
 [ricerca]&lt;br /&gt;
 path = /home/ricerca&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0770&lt;br /&gt;
 directory mask = 0770&lt;br /&gt;
 browsable = no&lt;br /&gt;
 [amministrazione]&lt;br /&gt;
 path = /home/amministrazione&lt;br /&gt;
 force group = amministrazione&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0770&lt;br /&gt;
 directory mask = 0770&lt;br /&gt;
 browsable = no&lt;br /&gt;
 [profiles]&lt;br /&gt;
 path = /home/profiles&lt;br /&gt;
 read only = no&lt;br /&gt;
 create mask = 0600&lt;br /&gt;
 directory mask = 0700&lt;br /&gt;
 browseable = No&lt;br /&gt;
 guest ok = Yes&lt;br /&gt;
 profile acls = yes&lt;br /&gt;
 csc policy = disable&lt;br /&gt;
 # next line is a great way to secure the profiles&lt;br /&gt;
 #force user = %U&lt;br /&gt;
 # next line allows administrator to access all profiles&lt;br /&gt;
 #valid users = %U &amp;quot;Domain Admins&amp;quot;&lt;br /&gt;
 [printers]&lt;br /&gt;
 comment = Network Printers&lt;br /&gt;
 printer admin = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 guest ok = yes&lt;br /&gt;
 printable = yes&lt;br /&gt;
 path = /home/spool/&lt;br /&gt;
 browseable = No&lt;br /&gt;
 read only = Yes&lt;br /&gt;
 printable = Yes&lt;br /&gt;
 print command = /usr/bin/lpr -P%p -r %s&lt;br /&gt;
 lpq command = /usr/bin/lpq -P%p&lt;br /&gt;
 lprm command = /usr/bin/lprm -P%p %j&lt;br /&gt;
 [print$]&lt;br /&gt;
 path = /home/printers&lt;br /&gt;
 guest ok = No&lt;br /&gt;
 browseable = Yes&lt;br /&gt;
 read only = Yes&lt;br /&gt;
 valid users = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 write list = @&amp;quot;Print Operators&amp;quot;&lt;br /&gt;
 create mask = 0664&lt;br /&gt;
 directory mask = 0775&lt;br /&gt;
 &lt;br /&gt;
=== Impostare la password per l'accesso al database LDAP ===&lt;br /&gt;
&lt;br /&gt;
 smbpasswd -w la_vostra_password&lt;br /&gt;
&lt;br /&gt;
Dovreste avere una risposta simile a questa:&lt;br /&gt;
&lt;br /&gt;
 setting stored password for “cn=Manager,dc=chrix,dc=lan” in secrets.tdb&lt;br /&gt;
&lt;br /&gt;
Esempio di script scritto in python per montare automaticamente le home degli utenti/gruppi dopo all'accesso al dominio, da modificare a seconda della vostra configurazione!&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/env python&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 ntlogon.py written by Timothy (rhacer) Grant&lt;br /&gt;
 Copyright 1999 - 2002 by Timothy Grant&lt;br /&gt;
 is distributed under the terms of the GNU Public License.&lt;br /&gt;
 The format for the configuration file is as follows:&lt;br /&gt;
 While there is some room for confusion, we attempt to process things in&lt;br /&gt;
 order of specificity: Global first, Group second, User third, OS Type&lt;br /&gt;
 forth. This order can be debated forever, but it seems to make the most&lt;br /&gt;
 sense.&lt;br /&gt;
 # Everything in the Global section applies to all users logging on to the&lt;br /&gt;
 # network&lt;br /&gt;
 [Global]&lt;br /&gt;
 @ECHO &amp;quot;Welcome to our network!!!&amp;quot;&lt;br /&gt;
 NET TIME \\\\servername /SET /YES&lt;br /&gt;
 NET USE F: \\\\servername\\globalshare /YES&lt;br /&gt;
 # Map the private user area in the global section so we don't have to&lt;br /&gt;
 # create individual user entries for each user!&lt;br /&gt;
 NET USE U: \\\\servername\\%U /YES&lt;br /&gt;
 # Group entries, User entries and OS entries each start with the&lt;br /&gt;
 # keyword followed by a dash followed by--appropriately enough the Group&lt;br /&gt;
 # name, the User name, or the OS name.&lt;br /&gt;
 [Group-admin]&lt;br /&gt;
 @ECHO &amp;quot;Welcome administrators!&amp;quot;&lt;br /&gt;
 NET USE G: \\\\servername\\adminshare1 /YES&lt;br /&gt;
 NET USE I: \\\\servername\\adminshare2 /YES&lt;br /&gt;
 [Group-peons]&lt;br /&gt;
 @ECHO &amp;quot;Be grateful we let you use computers!&amp;quot;&lt;br /&gt;
 NET USE G: \\\\servername\\peonshare1 /YES&lt;br /&gt;
 [Group-hackers]&lt;br /&gt;
 @ECHO &amp;quot;What can I do for you today great one?&amp;quot;&lt;br /&gt;
 NET USE G: \\\\servername\\hackershare1 /YES&lt;br /&gt;
 NET USE I: \\\\servername\\adminshare2 /YES&lt;br /&gt;
 [User-fred]&lt;br /&gt;
 @ECHO &amp;quot;Hello there Fred!&amp;quot;&lt;br /&gt;
 NET USE F: \\\\servername\\fredsspecialshare /YES&lt;br /&gt;
 [OS-WfWg]&lt;br /&gt;
 @ECHO &amp;quot;Time to upgrade it?&amp;quot;&lt;br /&gt;
 # End configuration file&lt;br /&gt;
 usage: ntlogon [-g | --group=groupname]&lt;br /&gt;
 [-u | --user=username]&lt;br /&gt;
 [-o | --os=osname]&lt;br /&gt;
 [-m | --machine=netbiosname]&lt;br /&gt;
 [-f | --templatefile=filename]&lt;br /&gt;
 [-d | --dir=netlogon directory]&lt;br /&gt;
 [-v | --version]&lt;br /&gt;
 [-h | --help]&lt;br /&gt;
 [--pause]&lt;br /&gt;
 [--debug]&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #&amp;quot; This quote mark is an artifact of the inability of my editor to&lt;br /&gt;
 # correctly colour code anything after the triple-quoted docstring.&lt;br /&gt;
 # if your editor does not have this flaw, feel free to remove it.&lt;br /&gt;
 import sys&lt;br /&gt;
 import getopt&lt;br /&gt;
 import re&lt;br /&gt;
 import string&lt;br /&gt;
 import os&lt;br /&gt;
 version = &amp;quot;ntlogon.py v0.8&amp;quot;&lt;br /&gt;
 def buildScript(buf, sections, group, user, ostype, machine, debug, pause):&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 buildScript() Takes the contents of the template file and builds&lt;br /&gt;
 a DOS batch file to be executed as an NT logon script. It does this&lt;br /&gt;
 by determining which sections of the configuration file should be included&lt;br /&gt;
 and creating a list object that contains each line contained in each&lt;br /&gt;
 included section. The list object is then returned to the calling&lt;br /&gt;
 routine.&lt;br /&gt;
 All comments (#) are removed. A REM is inserted to show&lt;br /&gt;
 which section of the configuration file each line comes from.&lt;br /&gt;
 We leave blanklines as they are sometimes useful for debugging&lt;br /&gt;
 We also replace all of the Samba macros (e.g., %U, %G, %a, %m) with their&lt;br /&gt;
 expanded versions which have been passed to us by smbd&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 hdrstring = ''&lt;br /&gt;
 script = []&lt;br /&gt;
 #&lt;br /&gt;
 # These are the Samba macros that we currently know about.&lt;br /&gt;
 # any user defined macros will also be added to this dictionary.&lt;br /&gt;
 # We do not store the % sign as part of the macro name.&lt;br /&gt;
 # The replace routine will prepend the % sign to all possible&lt;br /&gt;
 # replacements.&lt;br /&gt;
 #&lt;br /&gt;
 macros = {&lt;br /&gt;
 'U': user,&lt;br /&gt;
 'G': group,&lt;br /&gt;
 'a': ostype,&lt;br /&gt;
 'm': machine&lt;br /&gt;
 }&lt;br /&gt;
 #&lt;br /&gt;
 # Process each section defined in the list sections&lt;br /&gt;
 #&lt;br /&gt;
 for s in sections:&lt;br /&gt;
 # print 'searching for: ' + s&lt;br /&gt;
 idx = 0&lt;br /&gt;
 while idx &amp;lt; len(buf):&lt;br /&gt;
 ln = buf[idx]&lt;br /&gt;
 #&lt;br /&gt;
 # We need to set up a regex for each possible section we&lt;br /&gt;
 # know about. This is slightly complicated due to the fact&lt;br /&gt;
 # that section headers contain user defined text.&lt;br /&gt;
 #&lt;br /&gt;
 if s == 'Global':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *\]'&lt;br /&gt;
 elif s == 'Group':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + group + ' *\]'&lt;br /&gt;
 elif s == 'User':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + user + ' *\]'&lt;br /&gt;
 elif s == 'OS':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + ostype + ' *\]'&lt;br /&gt;
 elif s == 'Machine':&lt;br /&gt;
 hdrstring = '\[ *' + s + ' *- *' + machine + ' *\]'&lt;br /&gt;
 #&lt;br /&gt;
 # See if we have found a section header&lt;br /&gt;
 #&lt;br /&gt;
 if re.search(r'(?i)' + hdrstring, ln):&lt;br /&gt;
 idx = idx + 1 # increment the counter to move to the next&lt;br /&gt;
 # line.&lt;br /&gt;
 x = re.match(r'([^#\r\n]*)', ln) # Determine the section&lt;br /&gt;
 # name and strip out CR/LF&lt;br /&gt;
 # and comment information&lt;br /&gt;
 if debug:&lt;br /&gt;
 print 'rem ' + x.group(1) + ' commands'&lt;br /&gt;
 else:&lt;br /&gt;
 # create the rem at the beginning of each section of the&lt;br /&gt;
 # logon script.&lt;br /&gt;
 script.append('rem ' + x.group(1) + ' commands')&lt;br /&gt;
 #&lt;br /&gt;
 # process each line until we have found another section&lt;br /&gt;
 # header&lt;br /&gt;
 #&lt;br /&gt;
 while not re.search(r'.*\[.*\].*', buf[idx]):&lt;br /&gt;
 #&lt;br /&gt;
 # strip comments and line endings&lt;br /&gt;
 #&lt;br /&gt;
 x = re.match(r'([^#\r\n]*)', buf[idx])&lt;br /&gt;
 if string.strip(x.group(1)) != '' :&lt;br /&gt;
 # if there is still content after stripping comments and&lt;br /&gt;
 # line endings then this is a line to process&lt;br /&gt;
 line = x.group(1)&lt;br /&gt;
 #&lt;br /&gt;
 # Check to see if this is a macro definition line&lt;br /&gt;
 #&lt;br /&gt;
 vardef = re.match(r'(.*)=(.*)', line)&lt;br /&gt;
 if vardef:&lt;br /&gt;
 varname = string.strip(vardef.group(1)) # Strip leading and&lt;br /&gt;
 varsub = string.strip(vardef.group(2)) # and trailing spaces&lt;br /&gt;
 if varname == '':&lt;br /&gt;
 print &amp;quot;Error: No substition name specified line: %d&amp;quot; % idx&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 if varsub == '':&lt;br /&gt;
 print &amp;quot;Error: No substitution text provided line: %d&amp;quot; % idx&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 if macros.has_key(varname):&lt;br /&gt;
 print &amp;quot;Warning: macro %s redefined line: %d&amp;quot; % (varname, idx)&lt;br /&gt;
 macros[varname] = varsub&lt;br /&gt;
 idx = idx + 1&lt;br /&gt;
 continue&lt;br /&gt;
 #&lt;br /&gt;
 # Replace all the macros that we currently&lt;br /&gt;
 # know about.&lt;br /&gt;
 #&lt;br /&gt;
 # Iterate over the dictionary that contains all known&lt;br /&gt;
 # macro substitutions.&lt;br /&gt;
 #&lt;br /&gt;
 # We test for a macro name by prepending % to each dictionary&lt;br /&gt;
 # key.&lt;br /&gt;
 #&lt;br /&gt;
 for varname in macros.keys():&lt;br /&gt;
 line = re.sub(r'%' + varname + r'(\W)',&lt;br /&gt;
 macros[varname] + r'\1', line)&lt;br /&gt;
 if debug:&lt;br /&gt;
 print line&lt;br /&gt;
 if pause:&lt;br /&gt;
 print 'pause'&lt;br /&gt;
 else:&lt;br /&gt;
 script.append(line)&lt;br /&gt;
 idx = idx + 1&lt;br /&gt;
 if idx == len(buf):&lt;br /&gt;
 break # if we have reached the end of the file&lt;br /&gt;
 # stop processing.&lt;br /&gt;
 idx = idx + 1 # increment the line counter&lt;br /&gt;
 if debug:&lt;br /&gt;
 print ''&lt;br /&gt;
 else:&lt;br /&gt;
 script.append('')&lt;br /&gt;
 return script&lt;br /&gt;
 # End buildScript()&lt;br /&gt;
 def run():&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 run() everything starts here. The main routine reads the command line&lt;br /&gt;
 arguments, opens and reads the configuration file.&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 configfile = '/etc/ntlogon.conf' # Default configuration file&lt;br /&gt;
 group = '' # Default group&lt;br /&gt;
 user = '' # Default user&lt;br /&gt;
 ostype = '' # Default os&lt;br /&gt;
 machine = '' # Default machine type&lt;br /&gt;
 outfile = 'logon.bat' # Default batch file name&lt;br /&gt;
 # this file name WILL take on the form&lt;br /&gt;
 # username.bat if a username is specified&lt;br /&gt;
 debug = 0 # Default debugging mode&lt;br /&gt;
 pause = 0 # Default pause mode&lt;br /&gt;
 outdir = '/usr/local/samba/netlogon/' # Default netlogon directory&lt;br /&gt;
 sections = ['Global', 'Machine', 'OS', 'Group', 'User'] # Currently supported&lt;br /&gt;
 # configuration file&lt;br /&gt;
 # sections&lt;br /&gt;
 options, args = getopt.getopt(sys.argv[1:], 'd:f:g:ho:u:m:v',&lt;br /&gt;
 ['templatefile=',&lt;br /&gt;
 'group=',&lt;br /&gt;
 'help',&lt;br /&gt;
 'os=',&lt;br /&gt;
 'user=',&lt;br /&gt;
 'machine=',&lt;br /&gt;
 'dir=',&lt;br /&gt;
 'version',&lt;br /&gt;
 'pause',&lt;br /&gt;
 'debug'])&lt;br /&gt;
 #&lt;br /&gt;
 # Process the command line arguments&lt;br /&gt;
 #&lt;br /&gt;
 for i in options:&lt;br /&gt;
 # template file to process&lt;br /&gt;
 if (i[0] == '-f') or (i[0] == '--templatefile'):&lt;br /&gt;
 configfile = i[1]&lt;br /&gt;
 # print 'configfile = ' + configfile&lt;br /&gt;
 # define the group to be used&lt;br /&gt;
 elif (i[0] == '-g') or (i[0] == '--group'):&lt;br /&gt;
 group = i[1]&lt;br /&gt;
 # print 'group = ' + group&lt;br /&gt;
 # define the os type&lt;br /&gt;
 elif (i[0] == '-o') or (i[0] == '--os'):&lt;br /&gt;
 ostype = i[1]&lt;br /&gt;
 # print 'os = ' + os&lt;br /&gt;
 # define the user&lt;br /&gt;
 elif (i[0] == '-u') or (i[0] == '--user'):&lt;br /&gt;
 user = i[1]&lt;br /&gt;
 outfile = user + '.bat' # Setup the output file name&lt;br /&gt;
 # print 'user = ' + user&lt;br /&gt;
 # define the machine&lt;br /&gt;
 elif (i[0] == '-m') or (i[0] == '--machine'):&lt;br /&gt;
 machine = i[1]&lt;br /&gt;
 # define the netlogon directory&lt;br /&gt;
 elif (i[0] == '-d') or (i[0] == '--dir'):&lt;br /&gt;
 outdir = i[1]&lt;br /&gt;
 # print 'outdir = ' + outdir&lt;br /&gt;
 # if we are asked to turn on debug info, do so.&lt;br /&gt;
 elif (i[0] == '--debug'):&lt;br /&gt;
 debug = 1&lt;br /&gt;
 # print 'debug = ' + debug&lt;br /&gt;
 # if we are asked to turn on the automatic pause functionality, do so&lt;br /&gt;
 elif (i[0] == '--pause'):&lt;br /&gt;
 pause = 1&lt;br /&gt;
 # print 'pause = ' + pause&lt;br /&gt;
 # if we are asked for the version number, print it.&lt;br /&gt;
 elif (i[0] == '-v') or (i[0] == '--version'):&lt;br /&gt;
 print version&lt;br /&gt;
 sys.exit(0)&lt;br /&gt;
 # if we are asked for help print the docstring.&lt;br /&gt;
 elif (i[0] == '-h') or (i[0] == '--help'):&lt;br /&gt;
 print __doc__&lt;br /&gt;
 sys.exit(0)&lt;br /&gt;
 #&lt;br /&gt;
 # open the configuration file&lt;br /&gt;
 #&lt;br /&gt;
 try:&lt;br /&gt;
 iFile = open(configfile, 'r')&lt;br /&gt;
 except IOError:&lt;br /&gt;
 print 'Unable to open configuration file: ' + configfile&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 #&lt;br /&gt;
 # open the output file&lt;br /&gt;
 #&lt;br /&gt;
 if not debug:&lt;br /&gt;
 try:&lt;br /&gt;
 oFile = open(outdir + outfile, 'w')&lt;br /&gt;
 except IOError:&lt;br /&gt;
 print 'Unable to open logon script file: ' + outdir + outfile&lt;br /&gt;
 sys.exit(1)&lt;br /&gt;
 buf = iFile.readlines() # read in the entire configuration file&lt;br /&gt;
 #&lt;br /&gt;
 # call the script building routine&lt;br /&gt;
 #&lt;br /&gt;
 script = buildScript(buf, sections, group, user, ostype, machine, debug, pause)&lt;br /&gt;
 #&lt;br /&gt;
 # write out the script file&lt;br /&gt;
 #&lt;br /&gt;
 if not debug:&lt;br /&gt;
 for ln in script:&lt;br /&gt;
 oFile.write(ln + '\r\n')&lt;br /&gt;
 if pause:&lt;br /&gt;
 if string.strip(ln) != '': # Because whitespace&lt;br /&gt;
 oFile.write('pause' + '\r\n') # is a useful tool, we&lt;br /&gt;
 # don't put pauses after&lt;br /&gt;
 # an empty line.&lt;br /&gt;
 # End run()&lt;br /&gt;
 #&lt;br /&gt;
 # immediate-mode commands, for drag-and-drop or execfile() execution&lt;br /&gt;
 #i&lt;br /&gt;
 f __name__ == '__main__':&lt;br /&gt;
 run()&lt;br /&gt;
 else:&lt;br /&gt;
 print &amp;quot;Module ntlogon.py imported.&amp;quot;&lt;br /&gt;
 print &amp;quot;To run, type: ntlogon.run()&amp;quot;&lt;br /&gt;
 print &amp;quot;To reload after changes to the source, type: reload(ntlogon)&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # End NTLogon.py&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
=== Avviare Samba ===&lt;br /&gt;
&lt;br /&gt;
su Fedora:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/samba start&lt;br /&gt;
&lt;br /&gt;
su Slacware:&lt;br /&gt;
&lt;br /&gt;
 /etc/rc.d/rc.samba start&lt;br /&gt;
&lt;br /&gt;
== Inizializzazione del database di LDAP ==&lt;br /&gt;
&lt;br /&gt;
Eseguire lo script configure.PL in /var/lib/samba/sbin ( o comunque dove avete scelto di salvarlo) poi eseguire lo script smbldap-populate per creare l'amminstratore del dominio, alcuni gruppi e vari altri elementi.&lt;br /&gt;
&lt;br /&gt;
Creare i dischi condivisi e gli utenti per l'amministrazione di quelle condivisioni:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/samba/sbin&lt;br /&gt;
 ./smbldap-groupadd ricerca&lt;br /&gt;
 ./smbldap-groupadd finanze&lt;br /&gt;
 ./smbldap-groupadd amministrazione&lt;br /&gt;
 ./smbldap-useradd -s /sbin/nologin -m -g ricerca ricerca&lt;br /&gt;
 ./smbldap-useradd -s /sbin/nologin -m -g finanze finanze&lt;br /&gt;
 ./smbldap-useradd -s /sbin/nologin -m -g amministrazione amministrazione&lt;br /&gt;
&lt;br /&gt;
Aggiungere l'utente samba alla Directory con:&lt;br /&gt;
&lt;br /&gt;
 smbldap-useradd -s /bin/false -d /dev/null -P samba.&lt;br /&gt;
&lt;br /&gt;
Impostare la password quando richiesta, nel file ldap.conf modificare il campo binddn con&lt;br /&gt;
&lt;br /&gt;
 uid=samba,ou=Users,dc=miodominio,dc=com e bindpw con la password di prima,&lt;br /&gt;
&lt;br /&gt;
(cambaiate i parametri a seconda della vostra configurazione! io ho dc=chrix,dc=lan)&lt;br /&gt;
&lt;br /&gt;
Dopo aver aggiunto alcuni utenti al sistema, potete aggiungere una workstation windows xp professional o windows 2000 al dominio.&lt;br /&gt;
&lt;br /&gt;
Per semplicità potete usare un tool grafico come phpLdapAdmin per amministrare la Directory, Da shell, per aggiungere l'utente pippo al gruppo ricerca, la sintassi è la seguente:&lt;br /&gt;
&lt;br /&gt;
 smbldap-useradd -a -G “Domain Users”, ricerca pippo&lt;br /&gt;
 smbldap-passwd pippo&lt;br /&gt;
&lt;br /&gt;
Ora godetevi il vostro nuovo Directory Server! Soluzione meno costosa di RHEL... (Red Hat Enterprise Linux)&lt;br /&gt;
&lt;br /&gt;
== Autore ==&lt;br /&gt;
&lt;br /&gt;
Spero di esser stato abbastanza esauriente sull'argomento. Per qualsiasi suggerimento o segnalazione, potete inviarmi una mail all'indirizzo: [mailto:chrix@slacky.it chrix@slacky.it]&lt;br /&gt;
&lt;br /&gt;
La riproduzione anche parziale di questa guida è consentita previo accordo dell'autore.&lt;br /&gt;
Christian Eric E.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T09:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
* Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
&lt;br /&gt;
** ''Crypt::SmbHash'';&lt;br /&gt;
** ''Digest::SHA1'';&lt;br /&gt;
** ''IO::Socket::SSL'';&lt;br /&gt;
** ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
* Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
&lt;br /&gt;
* Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T09:08:41Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
# Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
** ''Crypt::SmbHash'';&lt;br /&gt;
** ''Digest::SHA1'';&lt;br /&gt;
** ''IO::Socket::SSL'';&lt;br /&gt;
** ''Net::SSLeay''.&lt;br /&gt;
# Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
# Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T09:07:14Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
# Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
* ''Crypt::SmbHash'';&lt;br /&gt;
* ''Digest::SHA1'';&lt;br /&gt;
* ''IO::Socket::SSL'';&lt;br /&gt;
* ''Net::SSLeay''.&lt;br /&gt;
#:&lt;br /&gt;
# Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
# Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T09:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
# Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
* ''Crypt::SmbHash'';&lt;br /&gt;
* ''Digest::SHA1'';&lt;br /&gt;
* ''IO::Socket::SSL'';&lt;br /&gt;
* ''Net::SSLeay''.&lt;br /&gt;
#&lt;br /&gt;
# Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
# Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T07:59:55Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
# Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
* ''Crypt::SmbHash'';&lt;br /&gt;
* ''Digest::SHA1'';&lt;br /&gt;
* ''IO::Socket::SSL'';&lt;br /&gt;
* ''Net::SSLeay''.&lt;br /&gt;
#.&lt;br /&gt;
# Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
# Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T07:59:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;br /&gt;
&lt;br /&gt;
Il toolkit IDEALX richiede moduli perl aggiuntivi che di default non sono sempre installati nel sistema.&lt;br /&gt;
&lt;br /&gt;
# Andare sul [http://cpan.org sito] e scaricare i seguenti moduli perl (è disponibile un motore di ricerca interno):&lt;br /&gt;
* ''Crypt::SmbHash'';&lt;br /&gt;
* ''Digest::SHA1'';&lt;br /&gt;
* ''IO::Socket::SSL'';&lt;br /&gt;
* ''Net::SSLeay''.&lt;br /&gt;
# Scompattare gli archivi appena scaricati con tar:&lt;br /&gt;
 for archivio in *; do tar -xvzf $archivio; done&lt;br /&gt;
# Compilare ed installare ( da root) ognuno dei quattro moduli, entrando ogni volta nella rispettiva cartella con i comandi:&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make test&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Configurazione degli schema, delle chiavi ssl e delle cartelle usate da OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Chi usa un pacchetto precompilato ( rpm o tgz ) avrà la cartella /etc/openldap contenente il file di configurazione slapd.conf, prima di editare quel file è necessario copiare il file samba.schema nella cartella /etc/openldap/schema se non già presente! E impostare i permessi corretti:&lt;br /&gt;
&lt;br /&gt;
 chmod 644 /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
Potete usare locate oppure find per trovarlo, sulla mia Slackaware usando locate:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /etc/openldap&lt;br /&gt;
 root@chrix:~# locate samba.schema&lt;br /&gt;
 /etc/samba/samba.schema.oc.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema.at.IBM-ds&lt;br /&gt;
 /etc/samba/samba.schema&lt;br /&gt;
 /etc/openldap/schema/samba.schema&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.oc.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema.at.IBM-ds&lt;br /&gt;
 /usr/doc/samba-3.0.21c/examples/LDAP/samba.schema&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T07:44:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Installazione degli smbldap-tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;br /&gt;
&lt;br /&gt;
per installare gli IDEALX toolkit:&lt;br /&gt;
&lt;br /&gt;
* andare sul [http://samba.idealx.org/dist/ sito] e scaricare la versione 0.9.1 o superiore (smbldaptool-0.9.1.tar.gz);&lt;br /&gt;
* scompattare l'archivio in una cartella temporanea col comando:&lt;br /&gt;
 tar -xvzf smbldap-tool-0.9.1.tar.gz&lt;br /&gt;
* creare una cartella per gli script quindi impostare i permessi giusti:&lt;br /&gt;
 mkdir -p /var/lib/samba/sbin&lt;br /&gt;
 chmod -R 755 /var/lib/samba/&lt;br /&gt;
* entrare nella cartella scompattata e copiare gli script nella cartella precedentemente creata, all'invito di comandi scrivere:&lt;br /&gt;
 cd smbldap-tool-0.9.1&lt;br /&gt;
 cp smbldap* configure.pl /var/lib/samba/sbin&lt;br /&gt;
* impostare i permessi corretti nella cartella /var/lib/samba/sbin, impartendo i seguenti comandi:&lt;br /&gt;
 chmod 755 *&lt;br /&gt;
 chmod 640 smbldap_bind.conf smbldap.conf smbldap_tools.pm&lt;br /&gt;
* infine rimuovere la cartella temporanea in cui è stato scompattato l'archivio.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:30:50Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Integrazione LDAP - SAMBA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;br /&gt;
&lt;br /&gt;
== Configurazione di LDAP ==&lt;br /&gt;
&lt;br /&gt;
=== Installazione di OpenLDAP ===&lt;br /&gt;
&lt;br /&gt;
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:&lt;br /&gt;
&lt;br /&gt;
 rpm -qa | grep ldap&lt;br /&gt;
&lt;br /&gt;
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei&lt;br /&gt;
mirror e installarlo con il comando: &lt;br /&gt;
&lt;br /&gt;
 rpm -ivh openladp-2.3.24-2.i386.rpm &lt;br /&gt;
&lt;br /&gt;
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).&lt;br /&gt;
&lt;br /&gt;
Questo è un esempio output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# ls /var/log/packages/ | grep -i ldap&lt;br /&gt;
 nss_ldap-244-i486-1wsa&lt;br /&gt;
 openldap-2.3.24-i486-2kjz&lt;br /&gt;
&lt;br /&gt;
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.&lt;br /&gt;
&lt;br /&gt;
=== Installazione degli smbldap-tools ===&lt;br /&gt;
&lt;br /&gt;
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:&lt;br /&gt;
&lt;br /&gt;
 root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1&lt;br /&gt;
 root@chrix:~# ls&lt;br /&gt;
 CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf&lt;br /&gt;
 COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm&lt;br /&gt;
 ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod&lt;br /&gt;
 FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow&lt;br /&gt;
 INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:21:46Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Schema della rete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Schema della rete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione a LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione a LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Integrazione LDAP - SAMBA ==&lt;br /&gt;
&lt;br /&gt;
Esistono tre principali punti d'integrazione di Samba in un server LDAP:&lt;br /&gt;
&lt;br /&gt;
* il primo è l'inclusione dello schema samba nel server LDAP;&lt;br /&gt;
* il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);&lt;br /&gt;
* il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:18:11Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione a LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
               _&lt;br /&gt;
              (_) dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:12:45Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Introduzione a LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
&lt;br /&gt;
 dc=vicenza, dc=linux, dc=it&lt;br /&gt;
               _&lt;br /&gt;
              (_)&lt;br /&gt;
 &lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_)&lt;br /&gt;
 &lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;br /&gt;
              (_)       (_)       (_)&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T06:06:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
&lt;br /&gt;
 dc=vicenza, dc=linux, dc=it&lt;br /&gt;
               _&lt;br /&gt;
              (_)&lt;br /&gt;
&lt;br /&gt;
               |&lt;br /&gt;
               |&lt;br /&gt;
     +---------+---------+&lt;br /&gt;
     |         |         |&lt;br /&gt;
     |         |         |&lt;br /&gt;
     _         _         _&lt;br /&gt;
    (_)       (_)       (_)&lt;br /&gt;
&lt;br /&gt;
                         |&lt;br /&gt;
                         |&lt;br /&gt;
               +---------+---------+&lt;br /&gt;
               |         |         |&lt;br /&gt;
               |         |         |&lt;br /&gt;
               _         _         _&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:59:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Schema della rete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
      +------------+&lt;br /&gt;
      |  PC LINUX  |&lt;br /&gt;
      | con Server |&lt;br /&gt;
      |    Samba   |&lt;br /&gt;
      +------+-----+        +----------+               __________&lt;br /&gt;
             |              |  ROUTER  |              |          |&lt;br /&gt;
 -----+------+------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
&lt;br /&gt;
 dc=vicenza, dc=linux, dc=it&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:58:28Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Schema della rete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
    +------------+&lt;br /&gt;
    |  PC LINUX  |&lt;br /&gt;
    | con Server |&lt;br /&gt;
    |    Samba   |&lt;br /&gt;
    +------+-----+          +----------+               __________&lt;br /&gt;
           |                |  ROUTER  |              |          |&lt;br /&gt;
 -----+----+--------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;br /&gt;
 &lt;br /&gt;
Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione. &lt;br /&gt;
&lt;br /&gt;
Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo&lt;br /&gt;
accesso alle condivisioni del proprio gruppo. &lt;br /&gt;
&lt;br /&gt;
Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.&lt;br /&gt;
&lt;br /&gt;
== Introduzione a LDAP ==&lt;br /&gt;
&lt;br /&gt;
LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).&lt;br /&gt;
&lt;br /&gt;
I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali. &lt;br /&gt;
&lt;br /&gt;
Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.&lt;br /&gt;
&lt;br /&gt;
Esempio di Directory:&lt;br /&gt;
&lt;br /&gt;
 dc=vicenza, dc=linux, dc=it&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:52:47Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: /* Schema della rete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
    +------------+&lt;br /&gt;
    |  PC LINUX  |&lt;br /&gt;
    | con Server |&lt;br /&gt;
    |    Samba   |&lt;br /&gt;
    +------+-----+          +----------+               __________&lt;br /&gt;
           |                |  ROUTER  |              |          |&lt;br /&gt;
 -----+----+--------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              |__________|&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:52:10Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay''.&lt;br /&gt;
&lt;br /&gt;
== Schema della rete ==&lt;br /&gt;
&lt;br /&gt;
La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica , è stato usato un router a banda larga con firewall integrato.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
    +------------+&lt;br /&gt;
    |  PC LINUX  |&lt;br /&gt;
    | con Server |&lt;br /&gt;
    |    Samba   |&lt;br /&gt;
    +------+-----+          +----------+               __________&lt;br /&gt;
           |                |  ROUTER  |              /          \&lt;br /&gt;
 -----+----+--------+-------+    +     +---- &amp;gt;&amp;gt; --- &amp;gt;&amp;gt;| INTERNET |&lt;br /&gt;
      |             |       | FIREWALL |              \__________/&lt;br /&gt;
 +----+----+   +----+----+  +----------+&lt;br /&gt;
 | WINDOWS |   | WINDOWS |&lt;br /&gt;
 | CLIENT  |   | CLIENT  |&lt;br /&gt;
 +---------+   +---------+&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:43:03Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
Come installare e configurare samba come controllore di dominio di primo livello.&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.&lt;br /&gt;
&lt;br /&gt;
Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.&lt;br /&gt;
&lt;br /&gt;
== Prima di cominciare ==&lt;br /&gt;
&lt;br /&gt;
Questa guida descrive come integrare ldap in Samba, quindi mostra:&lt;br /&gt;
&lt;br /&gt;
* come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);&lt;br /&gt;
* come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;&lt;br /&gt;
* come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).&lt;br /&gt;
&lt;br /&gt;
== Prerequisiti ==&lt;br /&gt;
&lt;br /&gt;
Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).&lt;br /&gt;
&lt;br /&gt;
La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.&lt;br /&gt;
&lt;br /&gt;
È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).&lt;br /&gt;
&lt;br /&gt;
I programmi usati sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
* OpenSSL;&lt;br /&gt;
* OpenLDAP;&lt;br /&gt;
* Samba;&lt;br /&gt;
* Modulo Perl ''Crypt::SmbHash'';&lt;br /&gt;
* Module Perl ''Digest::SHA1'';&lt;br /&gt;
* Modulo Perl ''IO::Socket::SSL'';&lt;br /&gt;
* Modulo Perl ''Net::SSLeay'';&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:13:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba</id>
		<title>Autenticazione con LDAP per Samba</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/slacky/Autenticazione_con_LDAP_per_Samba"/>
				<updated>2006-09-25T05:12:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gianlucacherubini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scritti Misti]]&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;/div&gt;</summary>
		<author><name>Gianlucacherubini</name></author>	</entry>

	</feed>