Daniel: umask()

hi,
ich wollte gerade mit umask() die rechte verändern, habs wohl auch
geschaft das ganze aber extrem runteregsetzt. welchen code muss ich bei
umask() machen???
hatte umask(0700)

MfG

  1. puts "Hallo " + gets.chomp + "."

    ?> Daniel
    => Hallo Daniel.

    ich wollte gerade mit umask() die rechte verändern, habs wohl auch
    geschaft das ganze aber extrem runteregsetzt. welchen code muss ich bei
    umask() machen???

    Bitte? Ich verstehe die Frage nicht, hattest du nicht eben geschrieben, dass du es bereits getan hattest?

    Siehe auch umask().

    Einen schönen Donnerstag 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 20: search.ini
    Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Hi,

      Bitte? Ich verstehe die Frage nicht, hattest du nicht eben geschrieben, dass du es bereits getan hattest?

      Ja und das war das problem, ich habe umask(0777) gemacht, deshalb bekam
      ich fehlermeldungen ohne ende. dank deinem und dem post von Sven
      Rautenberg hab ich nun aber geschnackelt das es quasi das gegenteil sein
      muss also umask(0000) hab jetzt aber erstmal nur umask(0012) gemacht,
      jetzt bekomm ich keine fehlermeldungen mehr, diese funktion ist sehr
      schlecht beschrieben finde ich, kann mir das mal jmd genauer erklären?

      MfG

      1. puts "Hallo " + gets.chomp + "."

        ?> Daniel
        => Hallo Daniel.

        diese funktion ist sehr
        schlecht beschrieben finde ich, kann mir das mal jmd genauer erklären?

        Darum sollte man auch zu jeder Funktion die Userkommentare lesen.

        Einen schönen Donnerstag 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 20: search.ini
        Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. Hi,

          Darum sollte man auch zu jeder Funktion die Userkommentare lesen.

          die auf englisch sind und zum teil nur aus unverständlichem
          unkommentierten Code bestehn.

          anscheinend übernimmt er die änderung nicht dauerhaft denn sobald ich
          das umask jetzt wieder rausnehme kommen wieder die Fehlermeldungen :(

          Hier ein paar beispiele an fehlermeldungen:

          Warning: session_start(): open(/var/lib/php/sess_54c37b2212444216d55f585b14fa8d0e, O_RDWR) failed: Permission denied (13) in <aufgerufene php-datei> on line 2

          Warning: Unknown(): open(/var/lib/php/sess_54c37b2212444216d55f585b14fa8d0e, O_RDWR) failed: Permission denied (13) in Unknown on line 0

          Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php) in Unknown on line 0

          MfG

          1. puts "Hallo " + gets.chomp + "."

            ?> Daniel
            => Hallo Daniel.

            die auf englisch sind und zum teil nur aus unverständlichem
            unkommentierten Code bestehn.

            Dass Englisch die Grundvorraussetzung zum Erlernen von Programmiersprachen ist, sollte bekannt sein.
            Mit ein wenig Einarbeitung kann man aber auch die unkommentierten Codeschnipsel deuten.

            Warum nimmst du eigentlich nicht chmod?

            Einen schönen Donnerstag 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 20: search.ini
            Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. Hi,

              Warum nimmst du eigentlich nicht chmod?

              weil das nur auf ne datei geht und nicht auf schon angelegte
              verzeichnisse, ich brauch das ja garnicht. war ja nur ne spielerei, aber
              jetzt scheint es mir alles zerhagelt zu haben, wie bekomm ich das
              wieder hin das php wieder sessions machen kann?

              MfG

              1. Hallo!

                weil das nur auf ne datei geht und nicht auf schon angelegte
                verzeichnisse, ich brauch das ja garnicht.

                umask "geht" nicht auf angelegte Verzeichnisse, sondern wirkt sich nur auf Dateien/Verzeichnisse aus, die nach dem Setzen der umask angelegt werden.

                Grüße
                Andreas

                --
                SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
          2. Hallo!

            Warning: session_start(): open(/var/lib/php/sess_54c37b2212444216d55f585b14fa8d0e, O_RDWR) failed: Permission denied (13) in <aufgerufene php-datei> on line 2

            Warning: Unknown(): open(/var/lib/php/sess_54c37b2212444216d55f585b14fa8d0e, O_RDWR) failed: Permission denied (13) in Unknown on line 0

            Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php) in Unknown on line 0

            Was hat das denn mit PHPs umask()-Funktion zu tun? Der System-Administrator sollte dafür sorgen, dass PHP-Scripte in das konfigurierte Session-Verzeichnis schreiben können.

            Grüße
            Andreas

            --
            SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
            1. Hi,

              Was hat das denn mit PHPs umask()-Funktion zu tun? Der System-Administrator sollte dafür sorgen, dass PHP-Scripte in das konfigurierte Session-Verzeichnis schreiben können.

              ganz einfach, vor der ausführung von umask hat es diese fehlermeldungen
              nicht gegeben daraus schließe ich das umask schuld ist.

              MfG

              1. Hallo!

                ganz einfach, vor der ausführung von umask hat es diese fehlermeldungen
                nicht gegeben daraus schließe ich das umask schuld ist.

                Dann mach das was Du damals gemacht hast wieder rückgängig (oder sag besser dem Sysadmin dass er das wieder gerade biegen soll). Ich habe keine Ahnung welche umask Dein Session-Verzeichnis braucht, das hängt von mehreren Faktoren ab. Z.B. ob mod_php oder CGI verwendet wird, ob suexec/suphp verwendet wird, wer Besitzer des Verzeichnisses ist...

                Der Benutzer unter dem PHP ausgeführt wird, braucht Schreib- und Leserechte auf das Verzeichnis. Also vermute ich einfach mal sowas wie 066 oder 006.

                Grüße
                Andreas

                --
                SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
                1. Hi,

                  Dann mach das was Du damals gemacht hast wieder rückgängig

                  wie mach ich ein umask(777) rückkängig?

                  (oder sag besser dem Sysadmin dass er das wieder gerade biegen soll).

                  sowas gibts nicht, bzw. das bin ich.

                  Ich habe keine Ahnung welche umask Dein Session-Verzeichnis braucht, das hängt von mehreren Faktoren ab. Z.B. ob mod_php oder CGI verwendet wird, ob suexec/suphp verwendet wird,

                  es istn linux server mit apache und PHP, könnte ein phpinfo() vll
                  weiterhelfen? wenn ja welche werte müssen wie sein? bzw. welche werte
                  sind wichtig?

                  Der Benutzer unter dem PHP ausgeführt wird, braucht Schreib- und Leserechte auf das Verzeichnis. Also vermute ich einfach mal sowas wie 066 oder 006.

                  und wie stell ich das mit umask ein? umask(066)?

                  MfG

                  1. Hi!

                    Dann mach das was Du damals gemacht hast wieder rückgängig

                    wie mach ich ein umask(777) rückkängig?

                    Mit einem entsprechenden umask(), also z.B. umask(0022).

                    (oder sag besser dem Sysadmin dass er das wieder gerade biegen soll).

                    sowas gibts nicht, bzw. das bin ich.

                    Dann solltest du dir jemanden suchen, der sich damit wirklich auskennt. Insbesondere bei so etwas sensiblen wie Rechte ist genaues Wissen über mögliche Konsequenzen _absolut_ notwendig.

                    Ich habe keine Ahnung welche umask Dein Session-Verzeichnis braucht, das hängt von mehreren Faktoren ab. Z.B. ob mod_php oder CGI verwendet wird, ob suexec/suphp verwendet wird,

                    es istn linux server mit apache und PHP, könnte ein phpinfo() vll
                    weiterhelfen? wenn ja welche werte müssen wie sein? bzw. welche werte
                    sind wichtig?

                    Ja, Ausgaben aus der phpinfo() sollten da schon weiterhelfen, z.B. die Ausgabe von „Server API“. Dennoch solltest du als Admin auch selber wissen, ob mod_php oder die CGI-Variante läuft und ob SuPHP bzw. der SuExec-Wrapper aktiviert ist.

                    Der Benutzer unter dem PHP ausgeführt wird, braucht Schreib- und Leserechte auf das Verzeichnis. Also vermute ich einfach mal sowas wie 066 oder 006.

                    und wie stell ich das mit umask ein? umask(066)?

                    Ein umask(0066) beutetet, dass zukünftige angelegte Verzeichnisse/Dateien vom Besitzer gelesen, geschrieben und ausgeführt werden dürfen. Andere (Gruppe und Welt) dürfen jedoch nur „ausführen“, d.h. in ein Verzeichnis wechseln. Ob das für deine Zwecke passt, kann ich dir nicht sagen, da es auf die Konfiguration des Servers ankommt.

                    Darüber hinaus würde ich sowas - wenn du eh der Admin des Servers bist und damit Shell-Zugriff haben solltest - in der Kommandozeile machen, da dies dort wesentlich einfacher ist, anstatt mit PHP daran herumzubasteln.

                    Grüße,
                    Fabian St.

      2. Hallo!

        Ja und das war das problem, ich habe umask(0777) gemacht, deshalb bekam
        ich fehlermeldungen ohne ende. dank deinem und dem post von Sven
        Rautenberg hab ich nun aber geschnackelt das es quasi das gegenteil sein
        muss also umask(0000) hab jetzt aber erstmal nur umask(0012) gemacht,
        jetzt bekomm ich keine fehlermeldungen mehr, diese funktion ist sehr
        schlecht beschrieben finde ich, kann mir das mal jmd genauer erklären?

        Mit chmod setzt Du die Zugriffsrechte, mit umask definierst Du die Rechte, die beim Anlegen neuer Dateien/Verzeichnisse _nicht_ gesetzt werden.

        Mal ein paar Links:

        http://www.linuxfibel.de/access.htm#maske
        http://aktuell.de.selfhtml.org/artikel/server/linux/index.htm#rechte
        http://www.selflinux.org/selflinux-devel/html/nutzer_unter_linux.html

        Grüße
        Andreas

        --
        SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
  2. Moin!

    ich wollte gerade mit umask() die rechte verändern, habs wohl auch
    geschaft das ganze aber extrem runteregsetzt. welchen code muss ich bei
    umask() machen???
    hatte umask(0700)

    Das ist ganz schlecht, damit verweigerst du dem Dateibesitzer jegliche Rechte an den neu erstellten Dateien.

    In der umask sind alle diejenigen Bits GESETZT, die bei den endgültigen Dateirechten auf jeden Fall NICHT GESETZT sein sollen. Typische Werte für umask sind 022 und 002. Der erste Fall verhindert Schreibrechte für die Gruppe und "Welt", der zweite immerhin noch für "Welt".

    Unabhängig von umask-Einstellungen kann man aber trotzdem nach der Dateierstellung andere Rechte vergeben, d.h. umask 777 (keinerlei Rechte für niemanden) würde trotzdem nicht verhindern, dass man chmod 777 für die Datei ausführt, da bestehende Dateien nicht von umask beeinflusst werden.

    • Sven Rautenberg
    1. Hi,

      umask 777 (keinerlei Rechte für niemanden)

      ich will aber rechte für PHP.

      MfG

    2. Hi Sven,

      ... keinerlei Rechte für niemanden ...

      Das heißt ungefähr so viel wie (alle) Rechte für jedermann ;-)

      MfG, Dennis.

      --
      Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
      Man sollte nie aufhören zu fragen (Albert Einstein)
      ... aber natürlich erst, nachdem man sämliche FAQ's und Archive durchgelesen hat :-P
  3. Hi,
    umask(777) hat scheinbar die rechte verhuntzt, bekomme ansich keinen
    zugriff mehr auf den Sessionordner etc.

    Wenn ich die zeilen:

      
    umask(000);  
    
    

    auf der ersten seite habe dann geht es, mach ich die aber raus sind die fehlermeldungen wieder da, komischerweise scheint es ihn nicht zu intressieren wo das steht.

    Das ganze ist ein Linux-server mit Apache und PHP ich bin echt am
    verzweifeln. woran kann das liegen???

    MfG

    1. Hi,
      scheinbar hat sich das ganze jetzt in wohlgefallen aufgelöst, warum auch immer.

      MfG

  4. Hi,
    ich werd noch kirre.

    ein echo umask(); spuckt 9 aus, was heißst das?
    ich hab wieder keine zugriffe mit PHP auf den session ordner, ist da
    irgendwo was kaputt?

    HILFE!!!!!!!!!!!!

    MfG

    1. ein echo umask(); spuckt 9 aus, was heißst das?

      Dezimal 9 entspricht binär 1001 entspricht oktal 11. Die umask-Maske wird in Anleitungen oktal geschrieben, in der binären Darstellung kann man die Rechte Lesen, Schreiben, Ausführen (in der Reihenfolge) für Eigentümer, Eigentümer-Gruppe und alle anderen (in der Reihenfolge) am besten erkennen, PHP benutzt für Zahlen standardmäßig das dezimale Format.

      ich hab wieder keine zugriffe mit PHP auf den session ordner, ist da
      irgendwo was kaputt?

      Du erwartest nicht ernsthaft, dass hier irgendwer mit magischen Kräften auf den Server zugreifen kann, um zu schauen, ob du ihn vollends kaputtgespielt hast? Wende dich an den Serveradministrator, damit er das wieder hinbiegt.

      Grüngrü.

      1. Hi,

        Du erwartest nicht ernsthaft, dass hier irgendwer mit magischen Kräften auf den Server zugreifen kann, um zu schauen, ob du ihn vollends kaputtgespielt hast?

        das nicht, aber vll hat ja einer ne ahnung, vll. brauchst du mehr infos?
        wenn ja welche? Wie gesagt Lunix, Apache.

        Wende dich an den Serveradministrator, damit er das wieder hinbiegt.

        also an mich? ich wills ja hinbiegen, aber irgendwie glaub ich bald das
        es am session liegt. denn beim ersten aufruf klappt es immer, manchmal
        aber dann nach nem logout aufeinmal nichtmehr. beende die session mit
        session_destroy(); ist das falsch? im PHP Manual steht was davon das
        cookies nicht mitgelöscht werden, eigentlich erstell ich keine aber wenn
        doch welche erstellt werden wie bekomme ich das raus? wie kann ich das
        verhindern und wie kann ich sie mitlöschen?

        MfG

        1. hi,

          Wende dich an den Serveradministrator, damit er das wieder hinbiegt.

          also an mich?

          mein, an jemanden der diese bezeichnung auch verdient hat.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hi,

            mein, an jemanden der diese bezeichnung auch verdient hat.

            du willst sagen ich soll jetzt irgendwo, z.B. Siemens anrufen und den
            serveradmin zu mir bestellen? das wird, wenn er überhaupt kommt zu teuer.

            MfG

            1. hi,

              du willst sagen ich soll jetzt irgendwo, z.B. Siemens anrufen und den
              serveradmin zu mir bestellen? das wird, wenn er überhaupt kommt zu teuer.

              nein, aber du solltest die aufgabe, einen server zu administieren, jemandem überlassen, der etwas davon versteht.

              dass du nicht so jemand bist, dürfte langsam offensichtlich sein.

              (ich bin es auch nicht - deshalb spiele ich auch nicht an einem eigenen v- oder rootserver rum, sondern nutze shared hosting, wie viele andere auch.)

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Hi,

                nein, aber du solltest die aufgabe, einen server zu administieren, jemandem überlassen, der etwas davon versteht.

                dass du nicht so jemand bist, dürfte langsam offensichtlich sein.

                das ist ja nur lokal, zum testen halt. kein "richtiger" server. nur zum
                testen meiner skripte, das problem, das ich hatte, wozu ich das
                gebraucht hätte hat sich schon längst erledigt, konnte aufm server wo
                ich die sachen drauf hab nicht in nen ordner schreiben, hab da jetzt die
                rechte anderweitig geändert.

                MfG