[LatinaLUG] Re: [LatinaLUG] Re: [LatinaLUG] perchè kppp vuole root password

wind xpla latina@lists.linux.it
Tue, 29 Jan 2002 23:10:54 +0100


FUNZIONAAAAAAAAAAA
sembra burocrazia russa tutti quei giri, dove per comprarti le pinne devi
portare il certificato del podologo, l'attestato di frequenza al corso di
nuoto pinnato, chiedere la raccomandazione al capo di partito, che ti fa
avere il benestare per l'acquisto delle pinne.
però funziona gabriè sei grande!!
e alla fine hai spiegato talmente bene che ho pure capito qualcosa, bravo.
grazie e ciao

----- Original Message -----
From: "Gabriele Mambrini" <gm@badpenguin.org>
To: <latina@lists.linux.it>
Sent: Monday, January 28, 2002 9:47 AM
Subject: Re: [LatinaLUG] Re: [LatinaLUG] perchè kppp vuole root password


>
> > allora in /etc/pam.d/kppp c'è
> > auth sufficient /lib/security/pam_rootok.so
> > auth required /lib/security/pam_stack.so service=system-auth
> > session optional /lib/security/pam_xauth.so
> > account required /lib/security/pam_permit.so
> >
> > chiadendo le proprietà di /usr/bin/kppp ottengo che è:tipo eseguibile;
punta
> > a:consolehelper
> > (suppongo che sia un symlink (che suppongo significhi link simbolico) a
> > consolehelper)
> > permessi U:rwx  G:r_x O:r_x   utente=root gruppo=root
>
> La soluzione veloce dovrebbe essere questa:
> -----
> #auth sufficient /lib/security/pam_rootok.so
> #auth required /lib/security/pam_stack.so service=system-auth
> auth    required  pam_permit.so
> session optional /lib/security/pam_xauth.so
> account required /lib/security/pam_permit.so
> -----
>
> kppp effettua operazioni che richiedono root, per renderlo usabile da
> ogni utente in genere lo si installa come eseguibile setuid (chmod u+s)
> in modo che viene eseguito con l'uid del proprietario anziché quello di
> chi lo lancia. Siccome non è bello che chiunque possa lanciare un
> programma suid (un utente maligno potrebbe causare un buffer overflow
> per poi fargli eseguire del proprio codice come ad esempio aprire una
shell
> di root) una soluzione è quella di lasciare il programma senza suid e
> far passare l'utente per consolehelper (che è suid root), che a sua
> volta usa userhelper ed infine lancia il kppp vero che sta in
> probabilmente in /usr/sbin oppure /usr/bin/kppp.real
> consolehelper è quello che ti apre la finestrella della password di
> root.
>
> Questo giro consente di utilizzare i moduli pam per stabilire la
> politica di sistema che è definita in /etc/pam.d/<programma> o in
> /etc/pam. Nel tuo caso si è auth-orizzati a eseguire kppp se si è root
> (pam_rootok.so) oppure se si soddisfa system-auth (pam_stack.... è come
> a dire include /etc/pam.d/system-auth) queste due righe le commentiamo e
> mettiamo invece pam_permit che fa passare tutti.
>
> PAM è molto flessibile, ad esempio aggiungendo un
>
> auth    required    /usr/lib/security/pam_listfile.so \
>                 onerr=fail item=user sense=allow file=/etc/kppp-users
>
> si definisce una lista di chi può fare kppp, ci sono moduli come
> pam_ldap per leggere gli utenti da un db ldap oltre che da /etc/passwd
> oppure pam_console per restringere l'uso di un programma (tipo shutdown)
> a chi è loggato sulla console.
>
> ciao,
> Gabriele
> _______________________________________________
> http://www.llg.it
> Latina mailing list
> Latina@lists.linux.it
> http://lists.linux.it/listinfo/latina
>