OVH Cloud OVH Cloud

lancer pppoe par tout utilisateur

4 réponses
Avatar
nicolas
J'ai fait ceci :

chmod g+r /etc/ppp/pap-secrets
chmod +s /usr/sbin/pppoe

J'ai besoin des deux sinon il râle et ça ne marche pas.
Ça craint ?

nicolas patrois : pts noir asocial
--
PEACE

M : La guerre, ça amène la mort, les épidémie, la vermine... la souffrance, la destruction, la peur...
P : ...Et les pacifistes !

4 réponses

Avatar
Daniel Déchelotte

| J'ai fait ceci :
|
| chmod g+r /etc/ppp/pap-secrets
| chmod +s /usr/sbin/pppoe
|
| J'ai besoin des deux sinon il râle et ça ne marche pas.
| Ça craint ?

Un peu (surtout le +s, en fait), mais j'ai peur que ce soit pourtant
necessaire, avec un pppoe qui produit
"SIOCSIFFLAGS: Permission denied
pppoe: Cannot create raw socket -- pppoe must be run as root."
s'il n'est pas lance par root ou avec le bit suid.

Plus sur (car plus restrictif) :

chown root.dip /usr/sbin/pppoe
chmod u=rwxs,g=rx,o= /usr/sbin/pppoe

mais on "mutile" un fichier fournit par un paquet, ce qui est tres mal.
(dip est un groupe qui contient les utilisateurs autorises a initier une
connexion par numerotation, si je ne me plante pas.)

C'est la que sudo intervient ?

J'ai l'impression que c'est assez specifique a la Debian, mais ca peut
etre interessant de savoir comment s'en "sortent" les autres distros...

Daniel
--
http://yo.dan.free.fr/
Avatar
nicolas
On Sat, 27 Sep 2003 07:20:18 +0200, Daniel Déchelotte wrote:

| chmod g+r /etc/ppp/pap-secrets
| chmod +s /usr/sbin/pppoe

Un peu (surtout le +s, en fait), mais j'ai peur que ce soit pourtant


Bah de toutes façons, si on ne le fait pas, c'est root qui lance pon
adsl, alors...

chown root.dip /usr/sbin/pppoe


Déjà essayé, mais ne marche pas tant que pap-secrets n'est pas lisible par
le groupe.

chmod u=rwxs,g=rx,o= /usr/sbin/pppoe

mais on "mutile" un fichier fournit par un paquet, ce qui est tres mal.
(dip est un groupe qui contient les utilisateurs autorises a initier une
connexion par numerotation, si je ne me plante pas.)


Oui, c'est ça, c'est ce qui m'avait surpris à l'époque, venant de Mandrake.

nicolas patrois : pts noir asocial
--
PEACE

M : La guerre, ça amène la mort, les épidémie, la vermine... la souffrance, la destruction, la peur...
P : ...Et les pacifistes !

Avatar
Daniel Déchelotte
Resumons (a la relecture, ce serait plutot : "Detaillons" ;-) :
$ ll /usr/bin/pon
-rwxr-xr-x 1 root root 956 2001-12-10 06:35 /usr/bin/pon

Pon est en 755 et verifie la presence d'un fichier dans /etc/ppp/peers,
qui est "drwxr-s--- root.dip", donc l'utilisateur doit appartenir au
groupe dip (une bonne chose) ou alors son appel a pon ne va pas mener bien
loin.

A la fin de pon, on voit "exec /usr/sbin/pppd call ${@:-provider}"
$ ll /usr/sbin/pppd
-rwsr-xr-- 1 root dip 230604 2001-12-10 06:35 /usr/sbin/pppd

Donc, vraiment, seuls les utilisateurs du groupe dip peuvent executer
cette derniere ligne de pon, et ils se retrouvent avec un pppd lance avec
l'eUID de root. pppd lit /etc/ppp/peers/mon-provider qui contient qqch comme
pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"

La, on s'attendrait a ce que pppoe soit lui aussi lance avec l'eUID de
root, mais non : il faut lui remettre son sticky bit (car, comme dit avant
dans l'enfilade, pppoe veut a tout prix etre lance par root).

Comme on rajoute ce sticky bit, je suis d'avis de retirer le droit
d'execution pour other.
Au fait, comme pppd est lance avec l'eUID de root,
/etc/ppp/(chap|pap)-secrets peut etre en 600 (pas besoin de 640).

Au final, il semble qu'on puisse conserver toutes les permissions par
defaut des fichiers, sauf pour pppoe que l'on fait passer de "-rwxr-xr-x
root.root" a "-rwsr-x--- root.dip".


| > chown root.dip /usr/sbin/pppoe
|
| Déjà essayé, mais ne marche pas tant que pap-secrets n'est pas lisible
| par le groupe.

Donc ca, je pige pas.

Daniel

PS:
- comment ca se passe pour les autres distro ?
- on pourrait en parler sur debian-user-french.
- Est-ce a cause de free.fr ? Je recois tous les articles en double...
--
http://yo.dan.free.fr/
Avatar
nicolas
On Sat, 27 Sep 2003 19:36:02 +0200, Daniel Déchelotte wrote:

| > chown root.dip /usr/sbin/pppoe

| Déjà essayé, mais ne marche pas tant que pap-secrets n'est pas lisible
| par le groupe.

Donc ca, je pige pas.


Ah bah oui, pppoe n'appartenait pas au groupe dip... ce qui est corrigé,
donc il n'y a plus besoin que pap-secrets soit lisible par tous.

nicolas patrois : pts noir asocial
--
PEACE

M : La guerre, ça amène la mort, les épidémie, la vermine... la souffrance, la destruction, la peur...
P : ...Et les pacifistes !