PHPscript aus der commandozeile

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHPscript aus der commandozeile

    Hi Leute

    Ich habe folgendes Problem: Ich möchte gern ein PHPscript aus der commandozeile
    aus ausführen. Dieses script wurde von root erstellt und das s-bit wurde
    gesetzt (dieses script greift auf eine passworddatei zu). Ich kann dieses
    script ohne probleme als root ausführen. Jedoch wenn ein anderer user
    das ausführen möchte, so kriege ich folgende Meldung:
    Zitat:

    Status: 404
    Content-type: text/html
    X-Powered-By: PHP/5.0.2

    No input file specified.


    Ich hab da einige sachen dank google gefunden; diese beziehen sich jedoch auf
    windowstypische konfigurationen (bei mir Linux)

    Kann mir da jemand bitte weiterhelfen?
    Wieso krieg ich den Fehler?
    Wie ist er zu beheben?

    Gruss

  • #2
    Hat du schon die Benutzerrechte geprüft .. ob du als User auf die Datei zugreifen darfst ? (chgrp/chown)

    hast du den einen definitiven pfad aus dem Verzeichnis des Users angegeben ? Root hat ein anderes Home-Verzeichnis als ein User.
    Wenn die Passwort-Datei im Home-verzeichni von Root liegt kann natürlich der User nicht darauf zugreifen ..
    Warum PHP .. wenn's auch mit Perl geht

    Kommentar


    • #3
      Hi ja der normale user kann drauf zugreifen.
      Hier die Rechte: -rws--s--x 1 root root

      das script liegt nicht im homeverzeichniss sondern in einem seperaten /usr/local/usw pfad mit richtigen rechten. Wie gesagt das script wird ja ausgeführt
      jedoch beendet sich mit einer Fehlermeldung

      Gruss

      Kommentar


      • #4
        No input file specified.
        ich denke das du eventuell das PHP-Script falsch aufrufst:

        so muss es sein:

        /usr/bin/php /home/pfad/zum/phpscript

        prüfe noch mal ob der User (z.b. webuser) wirklich auf das php-dokument zugreifen darf .. vor allem setze einmal die ausführungsrechte chmod 0755 bzw. das jeder darauf zugreifen darf auf 0777
        Warum PHP .. wenn's auch mit Perl geht

        Kommentar


        • #5
          Hier noch einmal ein Link dazu:
          http://php3.de/manual/de/features.commandline.php

          Hier ist das Thema weiter unten in den Usercomments beschrieben.
          Scheinbar tritt das Problem dann auf wenn PHP als CGI ausgeführt wird:

          1. Create a script for example called cgiwrapper.cgi
          2. Put inside :
          #!/bin/sh -
          export SCRIPT_FILENAME=/var/www/realpage.php
          /usr/bin/php -f $SCRIPT_FILENAME
          3. Name your page realpage.php

          For example with thttpd the problem is that SCRIPT_FILENAME is not defined, while PHP absolutely requires it.
          My solution corrects that problem !
          Warum PHP .. wenn's auch mit Perl geht

          Kommentar


          • #6
            Hi Vielen dank für deine Antwort und Mühe

            Grundsätzlich hast du recht: mit perl wäre das problem nicht da, da
            perl einfacher aus der comandozeile auszuführen ist, und es sich
            hierbei nicht umbedingt um eine webanwendung handeln muss.

            Das script ist oben mit #!/usr/bin/php gekenzeichnet und
            soll einfach mittels ./script ausgeführt werden. Dabei ist es mir sehr wichtig,
            dass es mit der root id ausgeführt wird (mittels sbit), und nicht einfach
            so.

            Was will ich dammit erreichen:
            Mein apache läuft mit den Benutzerrechten nobody. PHP ist in den apache als
            modul geladen. Ein PHP script welches die funktion wie ein "webftp" hat, soll den
            user nur zu seinen funktionen zulassen, sofern sich dieser mit einem
            gültigen usernamen und passwort eingelogt hat.

            Diese Passwortdatei ist doppelt geschützt:
            1.)DES verschlüsselt
            2.)Keine (!) Rechte für die Gruppe/user nobody.

            Daher man kann nicht auf die Passwortdatei normal aus dem durch
            apache ausgeführten script auf die Datei zugreifen.
            Dennoch besitzt dieses script theorethisch eine adminansicht aus
            der man neue Benutzer anlegen, loeschen, passwort ändern usw.
            kann). Das Problem hab ich gelöst indem dieses (nobody-)script ein anderes
            mit gesetzten sbit ausführt (das ist das gefragte script mit den problemen).
            So kann man indirekt auf die passworddatei zugreifen.

            Gruss

            Der apache kann daher nicht direkt auf die Datei zugreifen.

            Kommentar

            Lädt...
            X