[Funktion] mkdir - mit welchen Rechten läuft php?

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

  • [Funktion] mkdir - mit welchen Rechten läuft php?

    Hi!

    Ich müsste mit mkdir ein Verzeichnis in dem Verzeichnis /var/spool/maildir anlegen, bekomme aber "permission denied" zurück. Mit welchen Rechten läuft php, bzw welchen user muss ich der Vezeichnissgruppe hinzufügen damit ich schreibrechte habe?

    Das ganze läuft unter Debian Sarge.

    Außerdem müsste ich einige Befehle mit exec ausführen, wie kann ich exec zu mehr Rechten verhelfen?


    Danke für Eure Antworten!


    LG, martin

  • #2
    Das weiß nur root allein.

    Meist wwwrun oder nobody, denn als dieser läuft Apache und somit auch PHP. Es wäre aber kreuzverkehrt, diesem User Zugang zu sensiblen Systembereichen zu geben. Viel zu schnell hat man ein Einfallstor in einem Script ...

    Was kannst du denn mit exec() nicht machen, was du gern möchtest?

    Kommentar


    • #3
      Guten Morgen!

      Ich möchte in /var/spool/maildir ein Verzeichnis anlegen. maildir gehört "root", die verzeichnisse darin müssen "mailsystem" gehören. Klarerweise scheitert execk(mkdir) da es nicht die notwendigen Rechte besitzt.

      Wie könnte ich das bewerkstelligen?



      LG, Martin

      Kommentar


      • #4
        Lass das Verzeichnis von einem User mit entsprechenden Rechten anlegen.

        Du könntest die anzulegenden Verzeichnisse z. B. irgendwo speichern (Datenbank, Datei, ...) und von einem Skript ausführen lassen, dass vom entsprechenden User gestartet wird. Ein Cronjob wäre da eine Möglichkeit
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Hallo!

          Wie meinst du das, ich soll das Verzeichnis in einer DB speichern? Ich mach eine virtuelle Userverwaltung für emailkonten mit courier, gerade da habe ich ein MySQL-Backend. Die Mails werden aber in Courier-Manier im maildir-Format auf die Platte gelegt. Lediglich die Pfade werden in der DB gespeichert.

          Und was meinst du mit einem Cron-Job? Ich brauch die Verzeichnisse sobald ich die Einträge in der DB mache.

          LG, Martin

          Kommentar


          • #6
            Und dann muss ich nochmal nachhaken:

            Wie bekomme ich es fertig, dass ich die Rückmeldungen des Befehls der mit exec() ausgeführt wurde am Schirm habe. passthru() scheint da besser zu taugen, allerdings fange ich mit dem Syntax nicht viel an. Was mach ich mit der return_var?


            LG, Martin

            Kommentar


            • #7
              Hi!

              Ich hab das Problem jetzt so gelöst, dass ich die Befehlszeile in einer Variable abgespeichert habe und diese dann aufgerufen habe.

              zB:

              PHP-Code:
                  $comverz="sudo mkdir $verzeichnis";
                  
              exec($comverz); 

              Danke für eure Hilfe

              Kommentar

              Lädt...
              X