Avanti Indietro Indice

11. L'uso di PPP e i privilegi di root

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.

Se altri utenti oltre a root devono poter avviare una connessione PPP, il programma pppd dev'essere setuid root:

-rwsr-xr-x   1 root     root        95225 Jul 11 00:27 /usr/sbin/pppd

Se /usr/sbin/pppd non è impostato in questo modo, allora come root si digiti il comando:

chmod u+s /usr/sbin/pppd

Quello che fa è rendere pppd eseguibile con i privilegi di root anche se 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.

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).

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).

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:

Anche se si fa questo, gli utenti ordinari non saranno ANCORA in grado di buttare giù la connessione via software! L'esecuzione dello script ppp-off richiede i privilegi di root. Comunque, qualsiasi utente può semplicemente spegnere il modem (o disconnettere la linea telefonica da un modem interno).

Un alternativa (e metodo migliore) a questa impostazione è di usare il programma sudo. 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 sudo si permetterà ad un utente autorizzato di attivare/disattivare la connnessione PPP in modo pulito e sicuro.


Avanti Indietro Indice