Sven: (FTP): CHMOD-Recht vorher schon festlegen?

Hi zusammen :)

Ist es eigentlich möglich die CHMOD-Rechte schon vorher festzulegen?
Bsp. Eine config.inc.php soll die Rechte 777 haben, diese muss ich z.Z.
über eine FTP-Programm via Rechtsklicks und die Rechte vergeben.

Ist es hier nicht möglich das ich die Rechte dieser PHP Datei auf 777 schon im Script festlege,
so dass ich nur noch das Script hochlade und meine Daten eingeben.
Danke für die Antworten ;)

MfG aus Braunschweig
Sven

  1. Hallo Sven.

    Ist es hier nicht möglich das ich die Rechte dieser PHP Datei auf 777 schon im Script festlege, [...]

    chmod() ?

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. chmod()

      Dank dir Ashura für den Link :)
      Schau ich mir gleich an.

      MfG aus Braunschweig
      Sven

    2. Nochmals eine andere Frage zum Link.

      Ich hab jetzt nun das Script und führe nun als erstes die Install.php aus,
      diese lösche ich zum Schluss auch wieder.

      Wo muss ich nun:

      PHP Code:

      »»

      chmod ("/somedir/somefile", 0777);

      »»
      reinschreiben, in die config.php / setting.php?

      Dies muss ja eigentlich immer vorhanden sein oder irre ich mich das jetzt? oO

      MfG aus Braunschweig
      Sven

      1. Hi!

        Ich hab jetzt nun das Script und führe nun als erstes die Install.php aus,
        diese lösche ich zum Schluss auch wieder.
        Wo muss ich nun:

        PHP Code:
        »»
        chmod ("/somedir/somefile", 0777);
        »»
        reinschreiben, in die config.php / setting.php?

        Dies muss ja eigentlich immer vorhanden sein oder irre ich mich das jetzt? oO

        Da du ja die Dateiattribute von config.php bzw. setting.php nur einmal ändern willst, sollte der Aufruf der Funktion chmod() in der Datei install.php erfolgen. Darüber hinaus solltest du überlegen, ob 777 wirklich nötig ist, da dies ein ziemliches Sicherheitsrisiko darstellen kann.

        Grüße,
        Fabian St.

        1. Darüber hinaus solltest du überlegen, ob 777 wirklich nötig ist, da dies ein ziemliches Sicherheitsrisiko darstellen kann.

          Mhh... bei sehr vielen PHP-Scripten die man sich kostenlos runterladen, installieren und benutzten kann, sind die CHMOD-Rechte für config/ settings Datein oder Ordner meist immer 777.

          MfG aus Braunschweig
          Sven

          1. Hi!

            Darüber hinaus solltest du überlegen, ob 777 wirklich nötig ist, da dies ein ziemliches Sicherheitsrisiko darstellen kann.

            Mhh... bei sehr vielen PHP-Scripten die man sich kostenlos runterladen, installieren und benutzten kann, sind die CHMOD-Rechte für config/ settings Datein oder Ordner meist immer 777.

            Ja, das ist leider war, da man dadurch eventuellen Rechte-Problemen schnell und einfach aus dem Weg geht, ohne jedoch dem Grundproblem nur ansatzweise auf den Leib zu rücken. Dies ist aber auch oftmals ein Fehler der Provider, die die User/Gruppenzugehörigkeit oftmals so »unglücklich« setzen, dass eine andere Lösung 777 nicht möglich ist.

            Grüße,
            Fabian St.

            1. Dies ist aber auch oftmals ein Fehler der Provider, die die User/Gruppenzugehörigkeit oftmals so »unglücklich« setzen, dass eine andere Lösung 777 nicht möglich ist.

              Mhh... gibt es irgendwo Info's über die Provider, die die Rechte so und so haben?
              Also wo ich sehe Provider x muss 777 haben Provider y 744 etc.

              MfG aus Braunschweig
              Sven

              1. Hi!

                Dies ist aber auch oftmals ein Fehler der Provider, die die User/Gruppenzugehörigkeit oftmals so »unglücklich« setzen, dass eine andere Lösung 777 nicht möglich ist.

                Mhh... gibt es irgendwo Info's über die Provider, die die Rechte so und so haben?
                Also wo ich sehe Provider x muss 777 haben Provider y 744 etc.

                Nicht das ich wüsste. Zudem erscheint mir eine solche „Liste“ auch als zu umständlich zu pflegen, da sie von sehr vielen verschiedenen Faktoren (Anbieter, Paket, etc.) abhängt.

                Grüße,
                Fabian St.

            2. Dies ist aber auch oftmals ein Fehler der Provider, die die User/Gruppenzugehörigkeit oftmals so »unglücklich« setzen, dass eine andere Lösung 777 nicht möglich ist.

              Mir ist da jetzt was eingefallen...
              man könnte doch mit dem "Sicherstem" CHMOD-Recht anfangen,
              wenn dieser Fehlschlägt, wird der Nächste probiert.

              Bis einer funktioniert oder zum Schluss halt 777 gesetzt werden muss.
              Ist dies möglich *überleg,überleg*

              MfG aus Braunschweig
              Sven

              1. Hi!

                Dies ist aber auch oftmals ein Fehler der Provider, die die User/Gruppenzugehörigkeit oftmals so »unglücklich« setzen, dass eine andere Lösung 777 nicht möglich ist.

                Mir ist da jetzt was eingefallen...
                man könnte doch mit dem "Sicherstem" CHMOD-Recht anfangen,
                wenn dieser Fehlschlägt, wird der Nächste probiert.
                Bis einer funktioniert oder zum Schluss halt 777 gesetzt werden muss.
                Ist dies möglich *überleg,überleg*

                Es mag sein, dass man sich so etwas zurechtbasteln kann, aber um dies wirklich sinnvoll und sicher umsetzen zu können, muss vorher ganz genau bekannt sein, zu welchen Gruppen der User gehört, unter welcher Kennung der Apache läuft und ob sonstige Einschränkungen serverseits vorhanden sind.
                In diesem Falle obliegt es dem Anwender, der das Skript einsetzt, dafür zu sorgen, die Rechte passend zu setzen.

                Grüße,
                Fabian St.

                1. Mhh... kann man das überprüfen welche Rechte auf dem Server gesetzt werden müssen?

                  Wenn die Rechte nicht stimmen kommt bei mir:
                  Warning: main(config.inc.php): failed to open stream: Permission denied in /www/htdocs/tuxirc/gbook/install.php on line 9

                  Warning: main(): Failed opening 'config.inc.php' for inclusion (include_path='.:..') in /www/htdocs/tuxirc/gbook/install.php on line 9
                  Database Error

                  #1045 - Access denied for user: 'wwwrun@localhost' (Using password: NO)

                  Gibt es dafür eine Funktion in PHP die dies überprüft.

                  MfG aus Braunschweig
                  Sven

                  1. Hi!

                    Mhh... kann man das überprüfen welche Rechte auf dem Server gesetzt werden müssen?

                    Ja, du als Admin des Servers solltest wissen, unter welcher Kennung der Apache läuft, ob PHP als Modul oder CGI-Version läuft, etc. Bist du nicht der Admin des Servers solltest du deinen Provider bitten, dir diese Informationen mitzuteilen, damit du dementsprechend die Rechte vergeben kannst.

                    Wenn die Rechte nicht stimmen kommt bei mir:
                    Warning: main(config.inc.php): failed to open stream: Permission denied in /www/htdocs/tuxirc/gbook/install.php on line 9

                    Warning: main(): Failed opening 'config.inc.php' for inclusion (include_path='.:..') in /www/htdocs/tuxirc/gbook/install.php on line 9
                    Database Error

                    #1045 - Access denied for user: 'wwwrun@localhost' (Using password: NO)

                    Die Fehlermeldungen sprechen ja für sich. Der Fehler mit der Datenbank ist höchstwahrscheinlich nur ein Folgefehler, der davon herrührt, das das Skript install.php wohl Daten aus der config.inc.php zum Aufbau der Datenbankverbindung braucht. Ferner sollte es bereits genügen, jedem Leserechte zu gewähren, denn es soll ja anscheinend nichts in eine Datei geschrieben werden, was Schreibrechte erfordern würde.

                    Gibt es dafür eine Funktion in PHP die dies überprüft.

                    Mir ist keine solche Funktion bekannt.

                    Grüße,
                    Fabian St.