Poiché PPP ha bisogno di impostare alcuni dispositivi di rete, modificare la tabella di instradamento del kernel ed altro, richiede i privilegi di root.
Se altri utenti oltre a root devono poter avviare una connessione PPP, il programma pppd deve 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. Questo 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) è stato scritto 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 dovrebbero 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 e non si vuole che vadano in giro per Internet senza una supervisione), bisogna creare un gruppo PPP (come root, si modifichi il file /etc/group) e:-
Si renda pppd suid root, di proprietà dell'utente root e del gruppo PPP, con gli altri permessi (other) su questo file vuoti. Dovrebbe essere simile a:-
-rwsr-x--- 1 root PPP 95225 Jul 11 00:27 /usr/sbin/pppd |
Si rendano gli script ppp-on/off di proprietà dell'utente root e del gruppo PPP.
Si rendano gli script ppp-on/off leggibili/eseguibili dal gruppo PPP.
-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 |
Si rendano nulli gli altri diritti di accesso a ppp-on/off.
Si aggiungano gli utenti che si vuole possano avviare il PPP al gruppo PPP in /etc/group.
Anche se si fa questo, gli utenti ordinari non saranno ANCORA in grado di disattivare 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 miglior metodo) 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. Utilizzando sudo si permetterà ad un utente autorizzato di attivare/disattivare la connessione PPP in modo pulito e sicuro.