[GELÖST] Skript als anderer Benutzer ausführen

  • PHP

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Link275.

    [GELÖST] Skript als anderer Benutzer ausführen

    Hi,

    wenn ich Skripte auf einem Webserver ausführe, geschieht das zumeist als Benutzer "www-data". Angenommen also ich bewege mich im Browser auf einer index.php, dort ist ein Link auf eine "data.php". Jetzt will ich aber die "data.php" mit anderen Rechten oder noch besser als anderer Benutzer ausführen. Geht das, und wenn ja, wie?
    Grund ist der, dass ich die Datei- und Ordner-Berechtigungen nicht verbiegen will sondern einfach das Skript mit einem Benutzer starten, der die entsprechenden Berechtigungen hat.


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Link275“ ()

    Meinst du sowas hier?:
    debian-administration.org/articles/84
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Hi,

    ja das suphp is mir auch schon über'n Weg gelaufen. Sollte nach Möglichkeit aber so sein dass ich nix extra dazuinstallieren muss, falls es dafür was gibt :-/




    Link :thumbup:
    Hello World
    in PHP geht das direkt nicht, weil es wie du dir sicher vorstellen kannst eine erhebliche Sicherheitslücke wäre, wenn ich einfach was als Root oder sonst ein User ausführen könnte ;)

    Aber es gibt ein PHP Modul das ssh2 heißt, weiß nur nicht ob es auf deinem System installiert ist, damit kannst du sozusagen ein SSH Terminal aufmachen, gibst dort deine Benutzerdaten an und und callst dann das PHP Script.
    Hi,

    ne ist leider nicht drauf. Ja mit SSH bin ich schon seit 2 Tagen zugange. Ich hab jetzt als root einfach:

    chown <betreffende_datei> www-data

    ausgeführt. Mir genügt das als Übergangslösung. Weitere Vorschläge sind natürlich nach wie vor gern willkommen ;)

    Link :thumbup:
    Hello World
    Hi,

    ja also es geht darum, ich hab hier nen vServer auf den ich via SSH drauf kann. Jetz will ich aufm System bestimmtes Zeugs erledigen, wie zum Beispiel Skripte starten, mysqldump Backup mit --all-databases ausführen und verschiedener anderer Kram. Und das wenn möglich alles über PHP mit shell_exec() oder system(), damit der SSH-Port eben nicht dauerhaft offen sein muss. Ich muss also irgendwie den Benutzer wechseln weil ich natürlich nicht will dass man meine PHP Seite die dann eben "das bestimmte Zeugs" macht, von außen zugänglich ist. Klar eine Datei muss aufrufbar sein sonst komm ich ja auch nicht mehr ran übern Browser, aber spezielle andere Dateien im Ordner sollten nicht über direkte Eingabe der URL geöffnet oder gar runtergeladen werden können.

    Geht eigentlich die Übergabe des Passwortes bei su / sudo als Einzeiler? Hab da was gelesen dass man das Passwort mit Echo das Passwort an den Befehl rüber-"piped", aber das funktioniert natürlich nicht. Selbst wenn ich in der /etc/sudoers <benutzer> ALL=NOPASSWD: ALL einstelle (<- sollte doch richtig sein so).


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Link275“ ()

    @Dodo: Nein, FTP-User kann beliebiger sein. Das war letzlich auch die Lösung. Ich lade die Files als FTP User runter (user:pass@ftp.domain.com/file.ext) und öffentlich kommt man da nicht ran :)



    Link :thumbup:
    Hello World