Anzeige:
Ergebnis 1 bis 13 von 13

Thema: su oder sudo mit Passwort

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.12.2007
    Beiträge
    40

    su oder sudo mit Passwort

    Hallo,

    ich bräuchte für ein PHP-Script einen Shell-Befehl, der wie folgt aussehen sollte:

    Code:
    $shell = shell_exec("su -c \"/home/Streamserver/teststream/".$_GET['server']."/sc_serv\" stream");
    Allerdings frägt er mich danach nach dem Passwort für den Benutzer stream,deshalb würde ich dieses gerne irgendwie direkt in den Befehl integrieren.
    Nur wie?

    echo "password" | su -c "command" username
    funktioniert leider nicht, er frägt mich trotzdem nach dem Passwort.

    Das gleiche ist bei sudo der Fall.

    Was lässt sich da machen?

    Mfg
    MIchael

  2. #2
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    für sudo kannst du in der Konfiguration (/etc/sudoers) mittels NOPASSWD die Passwortabfrage für bestimmte Befehle und User unterdrücken (man sudoers oder google helfen weiter).
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Also sudo sollte hier die erste Wahl sein im Notfall geht auch.
    Code:
    echo "meinPasswort" | su -c "meinProgram Aufruf"
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.12.2007
    Beiträge
    40
    @undefined:
    Leider bekomme ich da die Ausgabe, dass das ganze in einem Terminal ausgeführt werden muss.

    Aber ich hab das jetzt allerdings schon per NOPASSWD in der /etc/sudoers geregelt

    Vielen Dank für eure Hilfe!

    MfG
    Michael

  5. #5
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Mal als Hinweis - was du da machst ist mehr als gefährlich sudo kann nur auf Benutzer und Gruppen gehen.
    PHP ist weder eine Gruppe noch ein Benutzer sondern ein Modul von Apache.
    Das heist wenn du dem Benutzer z.B. wwwrun einen sudo setzt. dann erlaubst du der Kompletten CGI Schnittstelle auf POST/GET/PUT/PUSH/MOVE/UNLOCK System Befehle ab zu setzen. Das ist für Leute die sich mit Curl gut auskennen ein gefundenes fressen. Vor allem ist PHP was diese Geschichte betrifft mehr als anfällig, PHP ist nicht umsonst wegen seiner GLOBALS Registrie sehr oft in der kritik.
    Ich würde hier eher ein Shell Script schreiben das diese Befehle absetzt, so hast du wenigstens etwas Kapselung.
    Geändert von undefined (01-08-2008 um 21:43 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  6. #6
    Registrierter Benutzer
    Registriert seit
    17.12.2007
    Beiträge
    40
    Vielen Dank für deinen Hinweis!

    Das ist allerdings richtig, aber ich habe auch nicht vorgehabt, wwwrun sudo-Rechte zu geben.
    Nur der bestimmte User, der von dem su-Befehl aufgerufen wird, hat Rechte um den Befehl aus der PHP-Datei aufzurufen.

    Aber ich glaube, ich werde trotzdem noch ein Bash-Script entwickeln um das ganze zusammen zufassen.

    MfG
    Michael

  7. #7
    gadget
    Gast
    Zitat Zitat von undefined Beitrag anzeigen
    Also sudo sollte hier die erste Wahl sein im Notfall geht auch.
    Code:
    echo "meinPasswort" | su -c "meinProgram Aufruf"
    Wäre das bei dir erlaubt?
    Code:
    su: Muss von einem Terminal gestartet werden

  8. #8
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Habe ich mit PHP noch nie ausprobiert. Ich komme erst gar nicht auf solche Ideen. Da gibt es in meinen Augen ganz andere und bessere Lösungsansätze.
    Shellscripte mit ACL eingestellt oder SSH basierende Socket Verbindungen.
    Ich Administriere 4 Server, wenn ich mir die log Dateien ansehe sagt es mir ganz klar nicht vom Webspace aus auf Terminal Ebene zugreifen oder sonstige System freigaben machen. Paranaoid ist da hiep
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  9. #9
    Registrierter Benutzer
    Registriert seit
    17.12.2007
    Beiträge
    40
    @gadget
    Bei mir läuft das leider auch nicht, bekomme die selber Meldung...

    @undefined
    Hört sich ebenfalls sehr interessant an, allerdings ist das doch um einiges komplizierter zu realisieren, oder?
    Ich habe zumindest noch nie etwas von ACL gehört und finde auch bei Google nichts entsprechendes...

    MfG
    Michael

  10. #10
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  11. #11
    Registrierter Benutzer
    Registriert seit
    17.12.2007
    Beiträge
    40
    Vielen Dank für den Link, werde ich gleich mal studieren

    MfG
    Michael

  12. #12
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    vielleicht ist ja expect was für dich...
    http://www.mrunix.de/forums/showthre...ghlight=expect

    bitte auch den hinweis bzgl der sicherheitslücken lesen

    greetz

  13. #13
    Registrierter Benutzer
    Registriert seit
    17.12.2007
    Beiträge
    40
    Ja vielen dank für diesen Tipp, das ist ja genau das richtige was ich schon immer gesucht habe, klasse!

    Also vielen Dank nochmals!

    MfG
    Michael

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •