<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Linux PPP HOWTO: L'uso di PPP e i privilegi di root</TITLE> <LINK HREF="PPP-HOWTO-12.html" REL=next> <LINK HREF="PPP-HOWTO-10.html" REL=previous> <LINK HREF="PPP-HOWTO.html#toc11" REL=contents> </HEAD> <BODY> <A HREF="PPP-HOWTO-12.html">Avanti</A> <A HREF="PPP-HOWTO-10.html">Indietro</A> <A HREF="PPP-HOWTO.html#toc11">Indice</A> <HR> <H2><A NAME="root"></A> <A NAME="s11">11. L'uso di PPP e i privilegi di root</A></H2> <P>Poiché PPP ha bisogno di impostare alcuni dispositivi di rete, modificare la tabella di instradamento del kernel ed altro, richiede i privilegi di root per farlo. <P> <P>Se altri utenti oltre a root devono poter avviare una connessione PPP, il programma pppd dev'essere setuid root: <P> <BLOCKQUOTE><CODE> <PRE> -rwsr-xr-x 1 root root 95225 Jul 11 00:27 /usr/sbin/pppd </PRE> </CODE></BLOCKQUOTE> <P> <P>Se /usr/sbin/pppd non è impostato in questo modo, allora <B>come root</B> si digiti il comando: <P> <P> <BLOCKQUOTE><CODE> <PRE> chmod u+s /usr/sbin/pppd </PRE> </CODE></BLOCKQUOTE> <P> <P>Quello che fa è rendere pppd eseguibile con i privilegi di root <B>anche se</B> l'eseguibile è lanciato da un utente ordinario. Ciò permette agli utenti normali di lanciare pppd con i privilegi necessari per impostare le interfacce di rete e la tabella di instradamento del kernel. <P> <P>I programmi che sono eseguiti come 'set uid root' potenzialmente sono dei buchi di sicurezza e si dovrebbe essere estremamente cauti nel fare programmi 'suid root'. Un certo numero di programmi (incluso pppd) sono stati scritti con tutte le attenzioni per minimizzare i pericoli conseguenti alla loro esecuzione in suid root, quindi dovrebbe essere sicuro farlo (ma non ci sono garanzie). <P> <P>A seconda di come si vuole che il proprio sistema funzioni - specificatamente se si vuole che QUALSIASI utente nel proprio sistema sia in grado si avviare una connessione PPP, si dovrebbe rendere i propri script ppp-on/off leggibili ed eseguibili al mondo intero (probabilmente questo va bene solo se il proprio PC è usato SOLO da se stessi). <P> <P>Comunque, se NON si vuole che qualsiasi utente sia in grado di avviare una connessione PPP (per esempio, i propri figli hanno un account sulla macchina Linux, ma non vuoi che vadano in giro per Internet senza la una supervisione), bisogna creare un gruppo per il PPP (come root, si modifichi il file /etc/group) e: <UL> <LI>si renda pppd suid root, di proprietà dell'utente root e del gruppo PPP, con gli altri permessi su questo file vuoti. Insomma dovrebbe avere questi permessi (o simili): <BLOCKQUOTE><CODE> <PRE> -rwsr-x--- 1 root PPP 95225 Jul 11 00:27 /usr/sbin/pppd </PRE> </CODE></BLOCKQUOTE> </LI> <LI>si rendano gli script ppp-on/off di proprietà dell'utente root e del gruppo PPP; </LI> <LI>si rendano gli script ppp-on/off leggibili/eseguibili al gruppo PPP <BLOCKQUOTE><CODE> <PRE> -rwxr-x--- 1 root PPP 587 Mar 14 1995 /usr/sbin/ppp-on -rwxr-x--- 1 root PPP 631 Mar 14 1995 /usr/sbin/ppp-off </PRE> </CODE></BLOCKQUOTE> </LI> <LI>si rendano vuoti gli altri diritti di accesso a ppp-on/off; </LI> <LI>si aggiungano gli utenti che si vuole possano avviare il PPP al gruppo PPP in /etc/group.</LI> </UL> <P> <P>Anche se si fa questo, gli utenti ordinari non saranno ANCORA in grado di buttare giù la connessione via software! L'esecuzione dello script <CODE>ppp-off</CODE> richiede i privilegi di root. Comunque, qualsiasi utente può semplicemente spegnere il modem (o disconnettere la linea telefonica da un modem interno). <P> <P>Un alternativa (e metodo migliore) a questa impostazione è di usare il programma <CODE>sudo</CODE>. Questo offre maggiore sicurezza e permetterà di impostare le cose in modo tale che qualsiasi utente (autorizzato) possa attivare/disattivare la connessione usando gli script. Usando <CODE>sudo</CODE> si permetterà ad un utente autorizzato di attivare/disattivare la connnessione PPP in modo pulito e sicuro. <P> <P> <HR> <A HREF="PPP-HOWTO-12.html">Avanti</A> <A HREF="PPP-HOWTO-10.html">Indietro</A> <A HREF="PPP-HOWTO.html#toc11">Indice</A> </BODY> </HTML>