Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1123

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux Shadow Password HOWTO: Altri programmi a cui potreste dover fare un aggiornamento o applicare una patch</TITLE>
<LINK HREF="Shadow-Password-HOWTO-7.html" REL=next>
<LINK HREF="Shadow-Password-HOWTO-5.html" REL=previous>
<LINK HREF="Shadow-Password-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="Shadow-Password-HOWTO-7.html">Avanti</A>
<A HREF="Shadow-Password-HOWTO-5.html">Indietro</A>
<A HREF="Shadow-Password-HOWTO.html#toc6">Indice</A>
<HR>
<H2><A NAME="s6">6. Altri programmi a cui potreste dover fare un aggiornamento o applicare una patch</A></H2>

<P>Anche se la shadow suite contiene programmi sostitutivi per la maggior parte dei programmi 
che hanno bisogno di accedere alle password, ci sono alcuni altri programmi su molti sistemi
che richiedono accesso alle password.
<P>Se state usando una <EM>Distribuzione Debian </EM> (o anche se non la usate), potete ottenere i sorgenti Debian per i programmi che devono essere ricompilati da:
ftp://ftp.debian.org/debian/stable/source/
<P>Il resto di questa sezione si occupa di come aggiornare <CODE>adduser</CODE>, <CODE>wu_ftpd</CODE>, <CODE>ftpd</CODE>, <CODE>pop3d</CODE>, <CODE>xlock</CODE>, <CODE>xdm</CODE> e <CODE>sudo</CODE> in modo che supportino la shadow suite.
<P>Guardate il capitolo 
<A HREF="Shadow-Password-HOWTO-8.html#sez-agg">Aggiungere il supporto Shadow ad un programma C</A> per una discussione su come aggiungere il supporto shadow a qualunque altro programma che ne abbia bisogno (anche se il programma deve allora essere eseguito SUID root o SGID shadow per poter veramente accedere al file shadow).
<P>
<H2><A NAME="ss6.1">6.1 Il programma adduser della Slackware</A>
</H2>

<P>Le distribuzioni Slackware (e forse anche altre) contengono un programma interattivo per aggiungere utenti chiamato <CODE>/sbin/adduser</CODE>.  Una versione shadow di questo programma si pu&ograve; ottenere da 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Admin/accounts/adduser.shadow-1.4.tgz">ftp://sunsite.unc.edu/pub/Linux/system/Admin/accounts/adduser.shadow-1.4.tar.gz</A>.
<P>Vi incoraggio ad usare i programmi che vengono forniti con la <EM>Shadow Suite</EM> (<CODE>useradd</CODE>, <CODE>usermod</CODE>, e <CODE>userdel</CODE>) invece del programma Slackware <CODE>adduser</CODE>. Imparare ad usarli richiede poco tempo, ma vale la pena fare lo sforzo perch&eacute; avete molto pi&ugrave; controllo ed essi eseguono un appropriato lock dei file <CODE>/etc/passwd</CODE> e <CODE>/etc/shadow</CODE> (<CODE>adduser</CODE> non lo fa).
<P>Guardate il capitolo su 
<A HREF="Shadow-Password-HOWTO-7.html#sez-lavoro">Mettere al lavoro la Shadow Suite</A> per maggiori informazioni.
<P>Ma se dovete proprio usarlo (adduser N.d.T.), ecco cosa dovete fare:
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf adduser.shadow-1.4.tar.gz
cd adduser
make clean
make adduser
chmod 700 adduser
cp adduser /sbin
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss6.2">6.2 Il Server wu_ftpd</A>
</H2>

<P>La maggior parte dei sistemi Linux contengono il server
<CODE>wu_ftpd</CODE>. Se la vostra distribuzione non ha la shadow
installata, allora il vostro <CODE>wu_ftpd</CODE> non sar&agrave;
compilato per la shadow. <CODE>wu_ftpd</CODE> viene lanciato da
<CODE>inetd/tcpd</CODE> come un processo di <EM>root</EM>. Se state
eseguendo un vecchio demone <CODE>wu_ftpd</CODE>, vorrete aggiornarlo
comunque perch&eacute; quelli pi&ugrave; vecchi hanno un baco che
permetterebbe che l'account <EM>root</EM> venisse compromesso (per
maggiori informazione guardate la 
<A HREF="http://bach.cis.temple.edu/linux/linux-security/Linux-Security-FAQ/Linux-wu.ftpd-2.4-Update.html">Linux security home page</A>). 
<P>Fortunatamente, avete solo bisogno di ottenere il codice sorgente e di ricompilarlo con le shadow abilitate.
<P>Se non state usando un sistema ELF, il server <CODE>wu_ftp</CODE> pu&ograve; essere trovato su Sunsite come 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Network/file-transfer/wu-ftpd-2.4-fixed.tar.gz">wu-ftp-2.4-fixed.tar.gz</A><P>Una volta ottenuto il server, mettetelo in <CODE>/usr/src</CODE>, quindi digitate:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
tar -xzvf wu-ftpd-2.4-fixed.tar.gz
cd wu-ftpd-2.4-fixed
cp ./src/config/config.lnx.shadow ./src/config/config.lnx
</PRE>
</CODE></BLOCKQUOTE>
<P>Quindi editate <CODE>./src/makefiles/Makefile.lnx</CODE>, e cambiate la riga:
<BLOCKQUOTE><CODE>
<PRE>
LIBES    = -lbsd -support
</PRE>
</CODE></BLOCKQUOTE>

in:
<BLOCKQUOTE><CODE>
<PRE>
LIBES    = -lbsd -support -lshadow
</PRE>
</CODE></BLOCKQUOTE>
<P>Ora siete pronti ad eseguire lo script "build" e all'installazione:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/wu-ftpd-2.4-fixed
/usr/src/wu-ftp-2.4.fixed/build lnx
cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
cp ./bin/ftpd /usr/sbin/wu.ftpd
</PRE>
</CODE></BLOCKQUOTE>
 
<P>Questo usa il file di configurazione delle shadow di Linux, compila ed installa il server.
<P>Sul mio sistema Slackware 2.3 devo fare anche le seguenti cose prima di eseguire il <CODE>build</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/include/netinet
ln -s in_systm.h in_system.h
cd -
</PRE>
</CODE></BLOCKQUOTE>
<P>Sono stati riscontrati dei problemi nel compilare questo pacchetto sotto sistemi ELF, ma la versione Beta della prossima release funziona bene. Si pu&ograve; trovare come
<A HREF="ftp://tscnet.com/pub/linux/network/ftp/wu-ftpd-2.4.2-beta-10.tar.gz">wu-ftp-2.4.2-beta-10.tar.gz</A><P>Una volta ottenuto il server, mettetelo in <CODE>/usr/src</CODE>, quindi digitate:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
tar -xzvf wu-ftpd-2.4.2-beta-9.tar.gz
cd wu-ftpd-beta-9
cd ./src/config
</PRE>
</CODE></BLOCKQUOTE>
<P>Poi editate <CODE>config.lnx</CODE>, e cambiate:
<BLOCKQUOTE><CODE>
<PRE>
#undef SHADOW.PASSWORD
</PRE>
</CODE></BLOCKQUOTE>

in:
<BLOCKQUOTE><CODE>
<PRE>
#define SHADOW.PASSWORD
</PRE>
</CODE></BLOCKQUOTE>

Poi,
<BLOCKQUOTE><CODE>
<PRE>
cd ../Makefiles
</PRE>
</CODE></BLOCKQUOTE>

ed editate il file <CODE>Makefile.lnx</CODE>
e cambiate:
<BLOCKQUOTE><CODE>
<PRE>
LIBES = -lsupport -lbsd # -lshadow
</PRE>
</CODE></BLOCKQUOTE>

in:
<BLOCKQUOTE><CODE>
<PRE>
LIBES = -lsupport -lbsd -lshadow
</PRE>
</CODE></BLOCKQUOTE>

Poi eseguite build ed installate:
<BLOCKQUOTE><CODE>
<PRE>
cd ..
build lnx
cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
cp ./bin/ftpd /usr/sbin/wu.ftpd
</PRE>
</CODE></BLOCKQUOTE>
 
<P>Notate che dovreste controllare il vostro file
<CODE>/etc/inetd.conf</CODE> per essere sicuri che &egrave; qui che viene
realmente realmente il vostro server wu.ftpd. &Egrave; stato
riscontrato che alcune distribuzioni mettono i server dei demoni in
posti diversi, e quindi wu.ftpd in particolare potrebbe essere
chiamato in qualche altro modo.
<P>
<H2><A NAME="ss6.3">6.3 Ftpd standard </A>
</H2>

<P>Se state usando il server <CODE>ftpd</CODE> standard, vi consiglio di aggiornarlo al server
<CODE>wu_ftpd</CODE>.  A parte il baco conosciuto discusso sopra, generalmente &egrave; considerato pi&ugrave; sicuro.
<P>Se insistete ad usare quello standard, o avete bisogno di supporto <EM>NIS</EM>, Sunsite ha 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Network/file-transfer/ftpd-shadow-nis.tgz">ftpd-shadow-nis.tgz</A><P>
<H2><A NAME="ss6.4">6.4 pop3d (Post Office Protocol 3)</A>
</H2>

<P>Se avete bisogno di supportare il <EM>Post Office Protocol 3 (POP3)</EM>, avete bisogno di ricompilare un programma <CODE>pop3d</CODE>.  <CODE>pop3d</CODE> &egrave; normalmente eseguito da <CODE>inetd/tcpd</CODE> come <CODE>root</CODE>.
<P>Ci sono due versioni disponibili da: 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Mail/pop/pop3d-1.00.4.linux.shadow.tar.gz">pop3d-1.00.4.linux.shadow.tar.gz</A>
e 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Mail/pop/pop3d+shadow+elf.tar.gz">pop3d+shadow+elf.tar.gz</A><P>Entrambi questi sono abbastanza semplici da installare.
<P>
<H2><A NAME="ss6.5">6.5 xlock</A>
</H2>

<P>Se installate la Shadow Suite e poi eseguite <EM>X Windows System</EM> e bloccate (lock) lo schermo senza aggiornare il vostro <CODE>xlock</CODE>, dovrete usare <CODE>CNTL-ALT-Fx</CODE> per passare ad un'altra <EM>tty</EM>, collegarvi, e uccidere il processo <CODE>xlock</CODE> (o usare <CODE>CNTL-ALT-BS</CODE> per uccidere il server X).
Fortunatamente &egrave; abbastanza facile aggiornare il vostro programma <CODE>xlock</CODE>.
<P>Se state usando le Versioni 3.x.x di XFree86, probabilmente state usando <CODE>xlockmore</CODE> (che &egrave; un grande screen-saver in aggiunta a lock).
Questo pacchetto supporta le <EM>shadow</EM> con una ricompilazione. Se avete un <CODE>xlock</CODE> precedente, vi consiglio di aggiornarlo a questo.
<P><CODE>xlockmore-3.5.tgz</CODE> &egrave; disponibile su: 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/X11/xutils/screensavers/xlockmore-3.7.tgz">ftp://sunsite.unc.edu/pub/Linux/X11/xutils/screensavers/xlockmore-3.7.tgz</A><P>Fondamentalmente, questo &egrave; quello che avete bisogno di fare:
<P>Ottenere il file <CODE>xlockmore-3.7.tgz</CODE> e metterlo in <CODE>/usr/src</CODE>, spacchettarlo: 
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf xlockmore-3.7.tgz
</PRE>
</CODE></BLOCKQUOTE>
<P>Editare il file: <CODE>/usr/X11R6/lib/X11/config/linux.cf</CODE>, e cambiare la riga: 
<BLOCKQUOTE><CODE>
<PRE>
#define HasShadowPasswd    NO
in
#define HasShadowPasswd    YES
</PRE>
</CODE></BLOCKQUOTE>
<P>Quindi compilate gli eseguibili:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/xlockmore
xmkmf
make depend
make
</PRE>
</CODE></BLOCKQUOTE>
<P>Quindi spostare tutto al suo posto e aggiornare i proprietari ed i permessi dei file:
<BLOCKQUOTE><CODE>
<PRE>
cp xlock /usr/X11R6/bin/
cp XLock /var/X11R6/lib/app-defaults/
chown root.shadow /usr/X11R6/bin/xlock
chmod 2755 /usr/X11R6/bin/xlock
chown root.shadow /etc/shadow
chmod 640 /etc/shadow
</PRE>
</CODE></BLOCKQUOTE>
<P>Il vostro xlock ora funzioner&agrave; correttamente.
<P>
<H2><A NAME="ss6.6">6.6 xdm</A>
</H2>

<P><CODE>xdm</CODE> &egrave; un programma che presenta uno schermo di login per X-Windows. Alcuni sistemi avviano <CODE>xdm</CODE> quando viene detto al sistema di andare ad uno specifico livello di esecuzione (vedere <CODE>/etc/inittab</CODE>).
<P>Con la <EM>Shadow Suite</EM> installata, <CODE>xdm</CODE> avr&agrave; bisogno di essere aggiornato. Fortunatamente &egrave; abbastanza facile aggiornare il vostro programma <CODE>xdm</CODE>.
<P><CODE>xdm.tar.gz</CODE> &egrave; disponibile su: 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/X11/xutils/xdm.tar.gz">ftp://sunsite.unc.edu/pub/Linux/X11/xutils/xdm.tar.gz</A><P>Prendete il file <CODE>xdm.tar.gz</CODE> e mettetelo in <CODE>/usr/src</CODE>, quindi per spacchettarlo:
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf xdm.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>Editate il file: <CODE>/usr/X11R6/lib/X11/config/linux.cf</CODE>, e cambiate la riga:
<BLOCKQUOTE><CODE>
<PRE>
#define HasShadowPasswd    NO
in
#define HasShadowPasswd    YES
</PRE>
</CODE></BLOCKQUOTE>
<P>Quindi compilate gli eseguibili:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/xdm
xmkmf
make depend
make
</PRE>
</CODE></BLOCKQUOTE>
<P>Poi mettete tutto al suo posto:
<BLOCKQUOTE><CODE>
<PRE>
cp xdm /usr/X11R6/bin/
</PRE>
</CODE></BLOCKQUOTE>
<P><CODE>xdm</CODE> &egrave; eseguito da <EM>root</EM> perci&ograve; non avete bisogno di cambiare i permessi del file.
<P>
<H2><A NAME="ss6.7">6.7 sudo</A>
</H2>

<P>Il programma <CODE>sudo</CODE> permette ad un amministratore di sistema di lasciare che gli utenti eseguano programmi che normalmente richiederebbero accesso da root. Questo &egrave; comodo perch&eacute; lascia limitato l'accesso di amministratore all'account root stesso, mentre permette agli utenti di fare cose tipo il mount dei dispositivi.
<P><CODE>sudo</CODE> necessita di leggere le password perch&eacute; verifica la password dell'utente quando viene invocato. <CODE>sudo</CODE> gi&agrave; viene eseguito SUID root, perci&ograve; accedere al file <CODE>/etc/shadow</CODE> non &egrave; un problema.
<P><CODE>sudo</CODE> per la shadow suite, &egrave; disponibile su:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Admin/sudo-1.2-shadow.tgz">ftp://sunsite.unc.edu/pub/Linux/system/Admin/sudo-1.2-shadow.tgz</A><P><EM>Attenzione</EM>: Quando installate <CODE>sudo</CODE> il vostro file
<CODE>/etc/sudoers</CODE> sar&agrave; sostituito con uno predefinito,
perci&ograve; avrete bisogno di farne una copia di backup se avete
aggiunto qualcosa a quello predefinito (potreste anche editare il
Makefile e rimuovere la riga che copia il file predefinito in
<CODE>/etc</CODE>). 
<P>Il pacchetto &egrave; gi&agrave; predisposto per le shadow, perci&ograve; tutto quello che &egrave; richiesto &egrave; ricompilare il pacchetto (mettetelo in <CODE>/usr/src</CODE>):
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
tar -xzvf sudo-1.2-shadow.tgz
cd sudo-1.2-shadow
make all
make install
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss6.8">6.8 imapd (pacchetto Pine E-Mail)</A>
</H2>

<P><CODE>imapd</CODE> &egrave; un server e-mail simile a <CODE>pop3d</CODE>. <CODE>imapd</CODE> &egrave; incluso nel pacchetto <EM>Pine E-mail</EM>. La documentazione inclusa nel pacchetto afferma che nei sistemi Linux &egrave; predefinita l'opzione di includere il supporto shadow. Comunque, ho trovato che questo non &egrave; vero. Inoltre, la combinazione script di build/Makefile su questo pacchetto rende molto difficile aggiungere la libreria <CODE>libshadow.a</CODE> in tempo di compilazione, perci&ograve; non sono riuscito ad aggiungere il supporto shadow per <CODE>imapd</CODE>.
<P>Se qualcuno &egrave; riuscito a farlo, per favore mi mandi una e-mail, ed io includer&ograve; qui la soluzione.
<P>
<H2><A NAME="ss6.9">6.9 pppd (Point-to-Point Protocol Server)</A>
</H2>

<P>Il server pppd pu&ograve; essere impostato in modo che usi diversi tipi di autenticazione: <EM>Password Authentication Protocol</EM> (PAP) e <EM>Cryptographic Handshake Authentication Protocol</EM> (CHAP). Il server pppd di solito legge le stringhe contenenti le password che usa da <CODE>/etc/ppp/chap-secrets</CODE> e/o <CODE>/etc/ppp/pap-secrets</CODE>.  Se state usando questo comportamento predefinito di pppd, non &egrave; necessario reinstallare pppd.
<P>pppd vi permette anche di usare il parametro <EM>login</EM> (o su linea di comando, o nella configurazione del file <CODE>options</CODE>). Se viene data l'opzione <EM>login</EM>, il pppd user&agrave; il file <CODE>/etc/passwd</CODE> per il nome utente e la password per il <EM>PAP</EM>. Questo, ovviamente, non funzioner&agrave; pi&ugrave; ora che il nostro file shadow &egrave; "oscurato". Per quanto riguarda pppd-1.2.1d questo richiede aggiunta di codice per il supporto shadow.
<P>L'esempio dato nel prossimo capitolo consiste nell'aggiunta di supporto shadow a <CODE>pppd-1.2.1d</CODE> (una vecchia versione di pppd).
<P><CODE>pppd-2.2.0</CODE> contiene gi&agrave; il supporto shadow.
<P>
<HR>
<A HREF="Shadow-Password-HOWTO-7.html">Avanti</A>
<A HREF="Shadow-Password-HOWTO-5.html">Indietro</A>
<A HREF="Shadow-Password-HOWTO.html#toc6">Indice</A>
</BODY>
</HTML>