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
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
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
-/-
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?
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
-/-
Hallo Sven
Ergänzung
Um korrekt zu sein, der ganze chmod Befehl lautet:
# chmod u+s /usr/sbin/pppd
Gruss
Roland -/-
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)
und wenn du jetzt als user “/usr/sbin/pppd call sshvpn” eingibst?