CHMOD, Fragen¨über Fragen

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

  • #16
    Hi!
    Die Files sind ob per ftp oder webuser in Gruppe 100.
    Also wenn dies der Fall ist, solltest du auch keine Probleme mit dem öffnen und schreiben der Files haben.

    Lass dir mal die umask durch echo umask(); ausgeben. Möglich dass sie nich auf 0000 eingestellt ist.
    Die Möglichkeit alle Files auf schreiben zu setzen. also 666 ist durch die Funktion chmod() möglich. Verwende IMMER die Okatalschreibweise, also z.b. 0777 statt 777. Dadurch vermeidest du auch viele Probleme.
    Weiters kannst du die Rechte mit umask() beeinflussen.
    Damit veränderst du die aktuellen Rechte.

    D.h. umask(011); machst du dann ein mkdir($dir, 0777) so haben die Files dann die rechte 766.
    Gleiches gilt bei fopen etc.

    Beachte:
    A file
    or a dir chmod'ed to 0777 is seen as "unsecure" on some systems,
    because it has full read/write/execute permissions for everybody. Therefore
    access is blocked to most applications (including PHP3) to prevent a
    security hole.
    666 reicht für die Files vollkommen aus.
    Für die Verzeichnisse reicht ein 755 aus.

    Grüsse

    [Editiert von iQD am 19-11-2001 um 12:45]
    FreeBSD - Unleash the daemon inside your PC

    Kommentar


    • #17
      Hallo

      Danke für die Antwort!!! Also umask() war tatsächlich auf 18 ka wieso ich hab das nie benutzt...

      Von nun an werde ich die Wertesetzung auch mit 0xxx verwenden.

      ABER: Gebracht hat mir das ganze nicht, denn immernoch kann ich nicht auf das Files zugreiffen weil die Standartmässig auf 644 sind. Und CHMOD() funktioniert nicht, weil das Script ja net der Owner is, es heisst immernoch

      chmod failed: Operation not permitted

      Bitte helft mir! Ich sterbe hier

      Phish


      Kommentar


      • #18
        18 is dezimal -> oktal 22;
        des is die standardeinstellung;

        Da bleibt dir nix andres übrig als das zu editierende File unter einem anderen Namen zu speichern.
        Bzw. beim FTP-Upload händisch immer die rechte auf 666 setzen. Du kannst dies aber auch so realisieren:
        1.) entweder durch ein Shellscript automatisieren, welches du an der shell startest.
        2.) PHP FTP funktionen nutzn und durch den unix befehl chmod die Rechte ändern.

        Und dann das File öffnen.
        Sprich:
        im PHP ne funktion proggn die folgendes macht:
        per ftp die Rechte ändern
        dann File öffnen

        Naja gibt nowas:
        du änderst die Serverkonfiguration, dass Files per FTP-Upload die Rechte 666 haben.
        Da du aber einen Provider hast, wird er das aber glaube ich kaum machen.

        [Editiert von iQD am 19-11-2001 um 13:32]
        FreeBSD - Unleash the daemon inside your PC

        Kommentar


        • #19
          Hi

          Also 18 soll ich lassen? ok


          I RESIGN...

          Ich maile meinem Provider das wegen der rechte...
          Ansonsten muss ich n php upload einrichten... ist es möglich anstatt explizit nach Filenamen zu fragen dem User einen Dateibrowser zur verfügung zu stellen? Dieses Standartding???

          Thx

          Phish, der jetzt echt aufgibt... argh

          Kommentar


          • #20
            Ja auf 18 lassen
            kannst ja beim speichern die umask umgehen

            ja <INPUT type=file name=<feldname>> stellt den Standarddialog zur Verfügung

            Aber sieh nochmal nach oben, hab was dazugeschrieben.

            Das Script welches die Editierfunktion zur Verfügung stellt
            kann ja per ftp die Rechte ändern bevor die datei dann geöffnet wird zum ändern.
            Is nur ne Frage der synchronisation. Darf halt dann nur des File öffnen wenn er die Rechte geändert hat.
            Oder du machst folgendes:
            per ftp rechte ändern
            dann die datei im lesemodus öffnen und inhalt in eine textbox etc. rauspushen
            wenn man die datei wieder speichern will, checken ob Rechte umgesetzt wurden, dann datei zum speichern öffnen, und inhalt von der textbox zurückschreiben

            Umständlich aber es funzt *g*


            [Editiert von iQD am 19-11-2001 um 13:41]
            FreeBSD - Unleash the daemon inside your PC

            Kommentar


            • #21
              Hi There

              Echt, ohne dich wär ich sowas von verloren! Danke!!!
              Jetzt habe ich hier schon zwei lieblingsphpgurus Dich und Sky...

              Du willst damit also sagen, dass ich per PHP als ftp user zugreiffen kann? Das habe ich ja oben schonmal gefragt, das geht? Bitte zieg mir wie!!!

              Momentan schaut das Script so aus:

              function Fileedit($filetoread)
              {
              global $save,$filename,$code;
              Hier sollte nun also dieser Rechtewechsel rein!!!
              $fp = fopen("$filetoread","r+");

              if($fp)
              {
              if($save)
              {
              flock($fp,2);
              fputs($fp,stripslashes($code));
              flock($fp,3);
              fclose($fp);
              $fp = fopen("$filetoread","r");
              }

              while(!feof($fp))
              {
              $zeile = fgets($fp, 100);
              echo "$zeile";
              }

              fclose($fp);
              }

              else
              {
              echo "File $filename not found";
              }
              }

              =============

              So, das ist das Script. Ganz Simpel: Erst wird im Textfeld nur der Code angezeigt. Dann gibts n Post to PHP_Self mit der Variable $save. Sobald $save existiert wird bevor der Code geöffnet wird der code geschrieben. Hat auf NT Palttformservern problemlos funktioniert.

              Könntest du nun bitte mal ansatzweise den Rechtewechsel per FTP einsetzen??? Wär echt riesig!!!

              Phish, der wieder Hoffnung schöpft...


              Kommentar


              • #22
                Danke, aber zum GURU werd i nur wenn i zustande bring PHP umzuproggen und a paar Features reinbau für SMS
                (sollte ja so Leute geben )
                so müsste funzen
                kanns leider ned grad testen, da ich die FTP unterstützung nich in mein php reincompiliert habe *g*
                aja solltest zuerst mit phpinfo(); ausgeben lassen ob bei deinem Provider FTP-Feature für PHP dabei is, sonst is nixn

                Code:
                <?
                $rights = "0666";
                $command = "CHMOD ".$rights." ".$filetoread;
                $ftp = ftp_connect ($host, 21);
                if($ftp)
                  if(ftp_login ($ftp, $login, $password))
                    if(!ftp_site ($ftp, $command))
                      echo "Cannot execute command: ".$command;
                  else
                    echo "Cannot login!";
                else
                  echo "Cannnot connect!";  
                ?>
                [Editiert von iQD am 19-11-2001 um 14:43]
                FreeBSD - Unleash the daemon inside your PC

                Kommentar


                • #23
                  Danke

                  Ich werds gleich ausprobieren!!!

                  Ich habe noch etwas rumgeschnüffelt und frage mich, ob ich in einer .htaccess datei wohl auch einstellen kann das alle files 666 haben sollen???

                  So, geh jetzt ausprobiern

                  Phish

                  Kommentar


                  • #24
                    Original geschrieben von Phish
                    [...] frage mich, ob ich in einer .htaccess datei wohl auch einstellen kann das alle files 666 haben sollen???[/B]
                    Group directive
                    Syntax: Group unix-group
                    Default: Group #-1
                    Context: server config, virtual host
                    Status: core


                    Sorry, nichts mit .htaccess hier.


                    CAT Music Files

                    Kommentar


                    • #25
                      kannste nur beim ftp-server/http-server selber einstellen, welche rechte er vergibt beim file create etc.
                      also -> provider fragen, ausser du hast zugang zu den serverkonfigurationsdateien

                      der kann dir die umask entsprechend setzen

                      [Editiert von iQD am 19-11-2001 um 15:14]
                      FreeBSD - Unleash the daemon inside your PC

                      Kommentar


                      • #26
                        Hi There

                        folgendes erhalte ich zurück:

                        <b>Warning</b>: ftp_site: index.php: No such file or directory in <b>/home/xxxxx/public_html/admin.php</b> on line <b>29</b><br>
                        Cannot execute command: chmod 666 index.php<br>

                        xxxx = isn dirname welchen ich nicht angeben möchte...

                        Phish...

                        Kommentar


                        • #27
                          sicher dass dieses file existiert?
                          ansonsten gib den absoluten pfad an
                          also:
                          /home/xxxxx/public_html/<file>
                          FreeBSD - Unleash the daemon inside your PC

                          Kommentar


                          • #28
                            Das ist das meiste was ich vom Pfad kenne, mehr existiert net... und index.php gibts definitiv...



                            Kommentar


                            • #29
                              Das ist das meiste was ich vom Pfad kenne, mehr existiert net... und index.php gibts definitiv...

                              Zudem, wo kann ich den Pfad angeben, dein ftpscript hat mir das alles selbst rausgefunden (



                              Kommentar


                              • #30
                                $file = $GLOBALS["DOCUMENT_ROOT"].$filetoread;
                                FreeBSD - Unleash the daemon inside your PC

                                Kommentar

                                Lädt...
                                X