TigerDE2: CHMOD für versch. Dateien - Wann welches?

Hi!
Ich hab' ein Paar Fragen zum CHMOD-Befehl.
Für das Betriebssystem (wohl im "Normal-"/Offlinebetrieb) gilt ja, das Owner die Rechte der Person, die die Datei angelegt hat, Group die Rechte einer Gruppe und World die Rechte des Rests der Welt darstellt, oder?
Wenn ich jetzt r--rw-rwx gesetzt habe, hat dann der Owner trotzdem Execute-Rechte?
Und, was mich eigentlich interessiert:
Wie sieht das im Netz aus, wer steckt da hinter den Gruppennahmen?
Und was für ein CHMOD muß ich z.B. für
* ein PHP-Script setzen, damit ich es ausführen kann (via Webbrowser)?
* eine Datei setzten, die ein PHP Script (a) öffnen und lesen (b) schreiben, der normale Surfer aber nicht sehen soll?
/me hat leider fast garkeine Ahnung von CHMOD. :-/
Danke für Eure Hilfe. :)
gruß
Christian

--

Verwende eigene Schlechtschreibung... :)
  1. Hallo

    Für das Betriebssystem (wohl im "Normal-"/Offlinebetrieb) gilt ja, das Owner die Rechte der Person, die die Datei angelegt hat, Group die Rechte einer Gruppe und World die Rechte des Rests der Welt darstellt, oder?

    ist so

    Wenn ich jetzt r--rw-rwx gesetzt habe, hat dann der Owner trotzdem Execute-Rechte?

    nein

    Wie sieht das im Netz aus, wer steckt da hinter den Gruppennahmen?

    Die Gruppe, die da steht...

    Und was für ein CHMOD muß ich z.B. für
    * ein PHP-Script setzen, damit ich es ausführen kann (via Webbrowser)?

    Hängt davon ab, ob CGI oder Modul

    * eine Datei setzten, die ein PHP Script (a) öffnen und lesen (b) schreiben, der normale Surfer aber nicht sehen soll?

    Verstecken, außerhalb des Dokumentbaums, oder
    Zugriff einschränken mit .htaccess (bei Apache)

    Gruss,

    Vinzenz

    1. Danke an alle... ;)
      Noch ne Frage:
      Warum brauchen dann die meisten Scripts chmod 755, wenn der Webserver und der Surfer praktisch in der selben "Schublade" liegen?
      Würde da nicht sowas wie chmod 700 oder 050 oder 005 reichen?
      (Oder hab' ich da was falsch verstanden?)
      Und wie bekommt man das hin, dass z.B. ein Apache-Server ein "Forbidden" zurückgibt, ohne dass nach einem Passwort o.ä. gefragt wurde?
      gruß
      Christian
      P.S.: Ich hab' leider nur via FTP "Zugriff" auf einen Webspaceaccount (mit PERL, PHP & Co.), kann von daher leider nichts ausserhalb des "Zugriffbereichs (HTTP)" ablegen... (hmmm, etwas um die Ecke formuliert... :) )

      --

      Verwende eigene Schlechtschreibung... :)
      1. Hi TigerDE2,

        Warum brauchen dann die meisten Scripts chmod 755, wenn der Webserver und der Surfer praktisch in der selben "Schublade" liegen?

        weil der Webserver und derjenige, der die Seiten via FTP hochlädt, _nicht_ in derselben Schublade liegen.

        Und wie bekommt man das hin, dass z.B. ein Apache-Server ein "Forbidden" zurückgibt, ohne dass nach einem Passwort o.ä. gefragt wurde?

        Wann genau? Mehr Details, bitte.

        P.S.: Ich hab' leider nur via FTP "Zugriff" auf einen Webspaceaccount (mit PERL, PHP & Co.),

        Ich auch.

        kann von daher leider nichts ausserhalb des "Zugriffbereichs (HTTP)" ablegen... (hmmm, etwas um die Ecke formuliert... :) )

        Ist Dein FTP-Wurzelverzeichnis wirklich identisch mit dem Verzeichnis, in dem die Wurzel Deines Webseiten-Baums liegt? Bei mir nicht ... überdenke, ob Du beim richtigen Provider bist.

        Viele Grüße
              Michael

        --
        T'Pol: I meant no insult.
        V'Lar: Of course not. You're simply speaking your mind ... as you always have.
  2. Hallo TigerDE2,

    Wenn ich jetzt r--rw-rwx gesetzt habe, hat dann der Owner
    trotzdem Execute-Rechte?

    Nein. Auch sehr einfach nachzupruefen:

    ckruse@rain:~/dev/www/selfforum $ chmod 007 template_gen.pl
    ckruse@rain:~/dev/www/selfforum $ ./template_gen.pl
    bash: ./template_gen.pl: Permission denied
    ckruse@rain:~/dev/www/selfforum $

    Und, was mich eigentlich interessiert:
    Wie sieht das im Netz aus, wer steckt da hinter den
    Gruppennahmen?

    Wie meinst du das?

    Und was für ein CHMOD muß ich z.B. für
    * ein PHP-Script setzen, damit ich es ausführen kann (via
    Webbrowser)?

    Das kommt auf die PHP-Konfiguration an. Benutzt du PHP als
    Executable (also nicht als Modul), dann muss es fuer den
    Webserver ausfuehrbar sein. Benutzt du es als Modul, ist es
    abhaengig von der Konfiguration: ist eingestellt, dass das
    Script das x-Bit haben muss, dann muss das Script fuer den
    Webserver ausfuehrbar sein. Ansonsten muss es nur lesbar
    sein.

    * eine Datei setzten, die ein PHP Script (a) öffnen und
    lesen (b) schreiben, der normale Surfer aber nicht sehen
    soll?

    Diese Datei wirst du anders schuetzen muessen (beispielsweise
    ueber HTTP Authentification). Das Script laeuft mit
    Webserver-Rechten, die Datei muss also +rw fuer den
    Webserver-User haben. Und damit ist sie auch von anderen
    einsehbar.

    Gruesse,
     CK

  3. Hi,

    Für das Betriebssystem (wohl im "Normal-"/Offlinebetrieb) gilt ja, das Owner die Rechte der Person, die die Datei angelegt hat, Group die Rechte einer Gruppe und World die Rechte des Rests der Welt darstellt, oder?

    ja. Wobei es nicht von Bedeutung ist, wer die Datei _angelegt_ hat - mittels chown lässt sich Owner und Group festlegen.

    Wenn ich jetzt r--rw-rwx gesetzt habe, hat dann der Owner trotzdem Execute-Rechte?

    Nein.

    Wie sieht das im Netz aus, wer steckt da hinter den Gruppennahmen?

    Finde heraus, unter welchem User- und Gruppennamen der Webserver läuft. Meist liefert Dir

    ps auxw | grep httpd

    den Usernamen (erste Spalte); im Zweifel frage denjenigen, der den Server konfiguriert hat.

    Und was für ein CHMOD muß ich z.B. für

    Nebenbei: chmod wird kleingeschrieben. Unter Unix ist die Groß- und Kleinschreibung relevant.

    * ein PHP-Script setzen, damit ich es ausführen kann (via Webbrowser)?

    Nicht Du führst das Script aus, sondern der Webserver. Also muss dieser es mindestens lesen können. AFAIK wird ein PHP-Script nicht direkt ausgeführt; aber das x-Bit ist sicher nicht falsch.

    * eine Datei setzten, die ein PHP Script (a) öffnen und lesen (b) schreiben, der normale Surfer aber nicht sehen soll?

    Der normale Surfer _ist_ das PHP-Script, denn er kontaktiert den Webserver, und _nur dieser_ fasst das Script an. Die Datei auch, deswegen müssen die Rechte identisch sein.

    Per Server-Konfiguration lassen sich HTTP-Anfragen beliebig limitieren, Du kannst also direkte Zugriffe auf eine Ressource unterbinden. Das PHP-Script merkt hiervon nichts, da es auf eine Datei zugreift, nicht auf eine Ressource, so dass die Serverkonfiguration uninteressant ist. Das eigentliche Problem ist aber, dass

    Dateien, die nicht direkt per HTTP zugänglich sein sollen, im per HTTP zugänglichen Bereich nichts verloren haben.

    Lege diese Datei also außerhalb des Dateibaums ab, der durch eine URL abgebildet werden kann. Jedwede Rechte-Limitierung wäre der falsche Weg.

    Cheatah

    --
    X-Will-Answer-Email: No
  4. hello! nur ein kleiner tipp! schau mal unter www.jex-treme.de da suchst dir glaub ich bei php chmod aus und da hast eine relativ gute erklärung! lg