Ankündigung

Einklappen
Keine Ankündigung bisher.

DHCP Datei ändern

Einklappen

Neue Werbung 2019

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

  • #31
    Aber in diesem Ordner steckt meine ganze Serverkonfiguration. Ich kann den nicht auf 777 setzen. Gibt es keine andere möglichkeit?

    Kommentar


    • #32
      Es gibt andere Möglichkeiten, allerdings nicht so einfach. Am sichersten wäre es wohl ein Shellscript zu schreiben das sich als root authenifiziert und die dhcpd.conf mit der von dir erstellten (temporären) Datei aus deinem www-Verzeichnis überschreibt. Das Script musst du dann halt von PHP aus starten.

      Kommentar


      • #33
        Mit dem Skript willst du doch auch die Serverkonfiguration verändern. Dann sollte das drumherum schon so aufgebaut sein, dass sämtliche Regeln der Sicherheit beachtet werden

        Du kannst es auch mit 774 probieren, ich denke das müsste auch gehen. So hast du zumindest die Sicherheit, dass nur die User aus der Benutzergruppe drauf zugreifen können.

        Vorraussetzung ist natürlich, das php in der selben gruppe ist wie der Ordner.

        Kommentar


        • #34
          Da hast du schon recht.
          Aber in dem Ordner /etc steckt so einiges und vieles was ich auch nciht editieren will. Drum hab ich da ein mulmiges gefühl wenn ich das auf 777 setzen muss.

          Und das mit 744 haut leider nicht hin =(

          Warning: file(/etc/dhcpd.conf) [function.file]: failed to open stream: Permission denied in /var/www/vpn/dhcp.php on line 20

          Warning: file_put_contents(/etc/dhcpd.conf) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/vpn/dhcp.php on line 34

          <?php

          //Variablen mit Inhalt aus dem Formular füllen.

          $subnet = $_POST["subnet"];
          $start_adress = $_POST["start_adress"];
          $end_adress = $_POST["end_adress"];
          $subnetmask = $_POST["subnetmask"];
          $gateway = $_POST["gateway"];
          $default_lease_time = $_POST["default_lease_time"];
          $max_lease_time = $_POST["max_lease_time"];
          $domain = $_POST["domain"];
          $primary_dns = $_POST["primary_dns"];
          $secondary_dns = $_POST["secondary_dns"];


          // DHCPD.CONF in ein array speichern um es später zu bearbeiten zu können [mixed ...]
          $array = file('/etc/dhcpd.conf');

          // 7 deswegen weil Zeile eins als Zeile null gelesen wird
          // DHCP bearbeiten und bestimmte Zeilen neu schreiben
          $array[7] = "subnet ".$subnet." netmask ".$subnetmask." {";
          $array[10] = "range ".$start_adress." ".$end_adress.";";
          $array[13] = "option subnet-mask ".$subnetmask.";";
          $array[16] = "option domain-name ".$domain.";";
          $array[19] = "default-lease-time ".$default_lease_time.";";
          $array[22] = "max-lease-time ".$max_lease_time.";";
          $array[25] = "option routers ".$gateway.";";
          $array[28] = "option domain-name-servers ".$primary_dns."; ".$secondary_dns." {";

          // DHCPD.CONF speichern und schließen
          file_put_contents('/etc/dhcpd.conf',$array);

          ?>

          Kommentar


          • #35
            oder aenderst den besitzer zu wwwrun
            Under Construktion

            Kommentar


            • #36
              Oder Du verwendest das dhcpd Modul für webmin
              DHCPServer < Webmin < Doxfer

              Kommentar


              • #37
                Hast du denn mal getestet ob es mit 777 auf etc überhaupt funktioniert? Ich meine du kannst es dann ja wieder ändern...

                Kommentar


                • #38
                  Und wie meinst du das Hu5el ? Bitte mal für dummies erklären...

                  Und David was soll ich mit dem webminmodul? Ich will mir selber was schreiben und nicht aud webmin zurückgreifen. Sonst würde ich hier nicht fragen.
                  Wenn ich 777 habe kommt folgendes


                  Warning: file_put_contents(/etc/dhcpd.conf) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/vpn/dhcp.php on line 34

                  Kommentar


                  • #39
                    Wenn du 777 auf /etc und /etc/dhcpd.conf hast sagt er Permission denied???

                    Kommentar


                    • #40
                      dann hängt es sowieso noch woanders

                      hast du alle Ordner und Dateien die mit dem Script in Verbindung stehen auf 777 gesetzt?

                      Kommentar


                      • #41
                        Was mir grade auffällt: Zeile 34 ist file_put_contents oder? Das heisst er darf lesen aber nicht schreiben und das bei 777 ?

                        Kommentar


                        • #42
                          naja ich verusch e zu erklären...
                          eine datei gehört ja einem user + gruppe.
                          1. zahl rechte des users
                          2. zahl rechte der gruppe
                          3. zahl sonstige

                          und soviel ich weiß hat der apache benutzt der den user wwwrun und die gruppe www also könntest du einfach die gruppe der datei mit chgroup www /etc/deinedate (oder so) auf www ändern und dann würde 770 auch reichen...

                          und ich meine das 730 auch reicht, willst die datei ja net ausführen
                          Under Construktion

                          Kommentar


                          • #43
                            Zitat von Hu5eL Beitrag anzeigen
                            naja ich verusch e zu erklären...
                            eine datei gehört ja einem user + gruppe.
                            1. zahl rechte des users
                            2. zahl rechte der gruppe
                            3. zahl sonstige

                            und soviel ich weiß hat der apache benutzt der den user wwwrun und die gruppe www also könntest du einfach die gruppe der datei mit chgroup www /etc/deinedate (oder so) auf www ändern und dann würde 770 auch reichen...

                            und ich meine das 730 auch reicht, willst die datei ja net ausführen
                            Klar, ABER 1stens ändert das nichts daran das du damit eine Sicherheitslücke schaffst und 2tens erklärt das nicht warum er mit 777 zwar lese, aber keine schreibrechte hat, das ist unlogisch oder übersehe ich was?

                            Kommentar


                            • #44
                              Wenn es auf 777 steht funktioniert es... nur is die datei die das php schreibt katastrophe xD .
                              Hab vergessen die dhcpd.conf auch auf 777 zu setzen.

                              Wies mit Sicherheit in diesem Fall aussieht will ich gar nicht wissen...

                              Kommentar


                              • #45
                                Du kannst auch sudo verwenden und damit der "Webserver-uid" erlauben ein bestimmtes (shell-)Skript mit den erforderlichen Rechten aufzurufen. Und dieses Skript macht nur genau eine Sache: Datei /pfad1/x nach /pfad2/y kopieren, ohne Parameter, alles hardcoded.

                                Kommentar

                                Lädt...
                                X