ForumSUSE: pppd nicht ausführbar im Userlogin
Hans Meier – Samstag, 23. Juni 2007 20:57 Uhr

Hallo,
ich benutze SUSE 10.2 KDE: Leider muss ich ein Befehl “pppd call blabla” ausführen. Leider kann dieser unter dem Userlogin nicht ausgeführt werden. Wie weise ich dem jeweiligen Benutzer die nötigen Rechte zu???

Ein dickes Dankeschön schon mal im Voraus!

Sven

2 Antworten
rainer glauben – Sonntag, 24. Juni 2007 17:30 Uhr

Hi

was ergibt denn “ls -l /usr/sbin/pppd”?

ein “chmod u+s /usr/sbin/pppd” kann schon helfen.

und fuer den Fall dass du genauer wissen moechtest was es mit der “+s”Option auf sich hat, hab ich folgendes gefunden: [1]

viel Erfolg

[1] http://www.it-academy.cc/article/402/Das+SUIDBit.html

Hans Meier – Sonntag, 24. Juni 2007 18:03 Uhr

Nach
ls -l /usr/sbin/pppd
kommt
-rwxr-xr-x 1 root dialout 295488 25. Nov. 2006 /usr/sbin/pppd (in grün)

Nach
chmod u+s /usr/sbin/pppd
kommt
-rwsr-xr-x 1 root dialout 295488 25. Nov. 2006 /usr/sbin/pppd (in rot)

rainer glauben – Sonntag, 24. Juni 2007 20:59 Uhr

und wenn du jetzt als user “/usr/sbin/pppd call sshvpn” eingibst?

Roland M. Egloff – Sonntag, 24. Juni 2007 19:29 Uhr

Hallo Sven

pppd gehört zur Gruppe “dialout” wie folgender Befehl zeigt:

> ls -l /usr/sbin/pppd
-rwxr-xr-x 1 root dialout 295488 2006-11-25 20:50 /usr/sbin/pppd
>

Wenn du möchtest, dass pppd von user xyz ausgeführt werden kann,
musst du sicherstellen, dass xyz auch zur Gruppe dialout gehört.

Dies stellst du fest mit:

> groups xyz (xyz ist der “owner” Name dieses users)

Typisch wäre:

> groups user0
users dialout audio video

Falls “dialout” fehlt, muss diese Gruppe hinzugefügt werden:

Rezept:
———-
YaST > Security and Users > User Management

im neuen Fenster “User and Group Administration” click “edit”,

click auf “Details” tab

im “Groups” window check “dialout”

abschliessen mit “Finish”
———-

Verifizieren mit:

> groups [xyz]

(lass wissen obs geklappt hat)

MfG

Roland

-/-

Hans Meier – Sonntag, 24. Juni 2007 20:09 Uhr

Wenn ich
>groups xyz
eingebe. Erscheint:
>users dialout video

Aber wenn nich danach “pppd call sshvpn” oder nur pppd
eingebe als user0 eingebe. So kommt nur
>bash: pppd: command not found

Hättst Du noch eine andere Idee?

Roland M. Egloff – Sonntag, 24. Juni 2007 21:19 Uhr

24.06.07

Hallo Sven

pppd ist im Verzeichnis /usr/sbin/

> whereis pppd
pppd: /usr/sbin/pppd /usr/lib/pppd /usr/share/man/man8/pppd.8.gz

Aber pppd darf von user nicht ausgeführt werden:

> /usr/sbin/pppd
/usr/sbin/pppd: must be root to run /usr/sbin/pppd, since it is not setuid-root

Es gibt zwei Lösungen die ich vorschlagen kann:

—– 1 —–

Du kannst das setuid-Bit setzen:

# chmod u+s (als root)

Das x-Bit für user muss auch gesetzt sein, aber dies solltet bereits der Fall
sein.

> ls -l /usr/sbin/ppp

zeigt nun bei den Benutzer-Zugriisbits ein “s” statt eines “x” (der Oktalwert
des s-Bits für chmod ist 4000).

-rwsr-xr-x 1 root dialout 295488 2006-11-25 20:50 /usr/sbin/pppd

*** Achtung ***
es kann nun jeder pppd ausführen wie wenn er/sie root wäre — das ist ein
gewisses Sicherheitsrisiko.

—– 2 —–

pppd (oder irgend etwas anderes) kann auch mit “sodu” gestartet werden:

> sudo pppd [optionen]

Dazu muss in einer Datei (/etc/sudoers) angegeben werden wer was tun darf.

Wie dies gemacht wird siest Du unter:

> man sudo

(es ist z.B. möglich, dass der user ein (meist sein eigenes) Passwort
eingeben muss, oder es geht auch ohne Passwort. Dies ist in der sudoers
Datei spezifiziert.

Du kannst die Datei einsehen (als root):

# less /etc/sudoers

aber “man sudo” sagt Dir wie diese zu editieren ist.

Uebrigens, diese Variante ist sicherer als die setuid-root methode.

—– end —–

MfG

Roland

-/-

Roland M. Egloff – Sonntag, 24. Juni 2007 21:41 Uhr

Hallo Sven

Ergänzung

Um korrekt zu sein, der ganze chmod Befehl lautet:

# chmod u+s /usr/sbin/pppd

Gruss

Roland -/-