Benutzerrechte - mit PHP-Skript Dateien als User anlegen

  • Ich habe mir, zwecks schnellerem Anlegens von neuen Unterseiten für mein Webprojekt, ein kleines PHP-Skript geschrieben. Dieses Skript erzeugt zwei Dateien, die ich anschliessend noch anpassen muss, bzw. später ändern können sollte.

    Das funktioniert auch alles schon. Problem dabei jedoch ist: ich arbeite mit Linux (wie man ahnen könnte). Ich habe Apache auf meinem Rechner installiert und teste die Seiten damit bevor ich die online stelle. Und das bedeutet, das PHP-Skript kann zur Zeit die Dateien, welche es erzeugt, nur als Benutzer www-data anlegen. Um diese Dateien aber editieren zu können muss ich mich erst als Superuser im System anmelden und die Rechte auf meinen Usernamen ändern. Das ist eigentlich nicht so ganz im Sinne des Erfinders.

    Hat jemand hier eine Idee was man da machen könnte? Das Skript soll nur auf meinem Rechner laufen. Gibt es, ähnlich wie bei C, die Möglichkeit Systembefehle per PHP auszuführen? Damit könnte man ja eventuell was machen. Oder gibt es noch eine andere Möglichkeit mit PHP Dateien für einen bestimmten User anzulegen?

  • Nicht alle haben sudo :D
    Ansonsten musst du dich mit «su» als superuser anmelden.

    Du kannst die Dateien beim erstellen gleich chmodden (0777)

    Code
    //...
    chmod(0777,$file);
    //...

    Wenn es eh nur ein lokaler apache ist der keine websites im internet hat kannst du auch den user oder/und die Gruppe des Apaches ändern (google hilft)

  • Zitat


    Nicht alle haben sudo Very Happy


    Nutze sudo selbst nur sehr selten.
    Bin davon ausgegangen, dass er schon weiß, was gemeint ist.
    Ist doch so, oder? :wink:

    Zitat


    Wenn es eh nur ein lokaler apache ist der keine websites im internet hat kannst du auch den user oder/und die Gruppe des Apaches ändern (google hilft)

    Ist zwar nicht wirklich relevant, aber man sollte das wenn möglich nur so weit anfassen, wie nötig ist.
    Es kann (wenn auch unwesentlich) die Sicherheit des Systems verringern.

    Gruß,
    Jojo


  • Zitat von jojo87
    Code
    sudo chown www-data:DEINUSERNAME -R ~/public_html/ordner/


    Würde schon bald viel mehr ins Linux-Forum gehören, aber da es sich ja um ein PHP-Skript handelt, das diese Kommandos aufruft:

    Ist es nicht ein wenig zu riskant einem normalen User sudo chown zu erlauben? Wenn das mal wer rausbekommt den es nix angeht, derjenige könnte dann ja auf meinem System als User per sudo sämtliche Dateirechte nach belieben ändern.

    Ich will da auch echt nicht den Teufel an die Wand malen. Aber in Zeiten, in denen sogar der Staat legal mit Trojanern und ähnlichem arbeiten darf, da muss man doch echt mit allem möglichen rechnen.

  • Code
    sudo chown www-data:DEINUSERNAME -R ~/public_html/ordner/


    Diesen Befehl in der Kommandozeile, und nicht per php ausführen.

    Code
    chmod(0774,"Dateiname");

    Diesen dann mit php, nachdem du eine Datei erstellt hast.

    Gruß,
    Jojo