„Chmod“ setzen, aber richtig…

Diskutiere mit über: „Chmod“ setzen, aber richtig… im Web-Programmierung Forum

  1. sevY

    sevY Thread Starter Gast

    Hallo zusammen,

    ich habe ein Projekt nun fast fertig und bin dabei, ein kleines Script zu schreiben, um Chmods aller hochgeladenen Dateien/Ordner zu bestimmen, um nicht jede einzeln anklicken zu müssen.

    Standardmäßig habe ich immer alle auf 777 gesetzt, das war am einfachsten.

    Aber was ist denn für was korrekt?

    Folgende Dateien sind auf dem Server:

    - PHP Dateien, die beim Aufrufen von SWF Daten aus einer MYSQL DB lesen und weitergeben, aber nicht angesehen werden

    - SWF Dateien, die beim Aufrufen PHP Dateien aufrufen und Daten mit SendAndLoad(); austauschen

    - PHP-Dateien die die SWFs einfach nur mittels Object-Tag beinhalten und eigentlich auch reine HTML Dateien sein könnten.

    - PHP Dateien, die gesehen werden und Aktionen ausführen

    - JS Dateien, die in den PHP-Dateien included werden

    - Dann gibt es noch ein Admininterface, dort sind Ordner, in die Dateien geschrieben werden, die später herunterladbar sind bzw. Bilddateien, die in Flash mittels loadMovie(); eingebunden werden

    - außerdem sind dort PHP-Dateien die die entsprechenden Adminaktionen enthalten.

    - CSS Dateien zum formatieren und feste Bilddateien, die nicht geändert werden, sind dort auch.


    Es ist mir klar, was lesen/schreiben/ausführen dabei bedeutet. Nur ist mir die Zuweisung der Owner/Gruppen/World nicht ganz klar.


    Vielleicht alles sehr einfach… aber sicher ist sicher :)

    Liebe Grüße

    Coffee
     
  2. SchaSche

    SchaSche MacUser Mitglied

    Beiträge:
    8.509
    Zustimmungen:
    88
    Registriert seit:
    09.02.2003
    Ähm, *räusper* was ist Chmod? *duck*
     
  3. Wuddel

    Wuddel MacUser Mitglied

    Beiträge:
    3.757
    Zustimmungen:
    2
    Registriert seit:
    26.05.2002
    AFAIK brauchen die alle nur leserechte für den User unter dem der Webserver läuft. Also 4. z.b. 644. Die Dinger heißen übrigens Zufriffsrechte und nicht Chmods.

    @SchaSche

    'man chmod' im Terminal
     
  4. sevY

    sevY Thread Starter Gast

    @ Wuddel

    Wofür dann execute?

    Und was wenn ich über das www das Admintool aufrufe und eine Datei in einen Ordner laden möchte? Der Ordner nur 644?

    gruß Coffee
     
  5. maze79

    maze79 MacUser Mitglied

    Beiträge:
    222
    Zustimmungen:
    0
    Registriert seit:
    14.04.2003
    was noch wichtig ist: wem gehören die dateien, wer führt sie aus und was für gruppen sind definiert. ohne diese informationen ist es nicht ganz einfach deine Frage zu beantworten.
    @wuddel: warum 644? wenn die dateiem dem ausführenden User gehören sieht das eher nach 700 aus... und wenn der ausführende user (z.b. apache) und der user dem die Dateien gehören in der gleichen Gruppe sind wäre es eher 750, oder?

    gruss
    maze
     
  6. sevY

    sevY Thread Starter Gast

    Na hab ich doch eben oben geschrieben…

    Irgendein User aus dem www ruft die index.php auf. Von dort geht es dann zu den anderen PHP-Dateien die die swf enthalten. Die swf fragen PHP-Dateien ab und tauschen Variablen aus.

    Wenn man die Adresse des Adminsystems kennt, kann man von dort dann auch sämtliche Inhalte administrieren. D.h. zb. PHP Dateien ausführen, die dann Dateien in einen Ordner laden.


    Wann gehört man denn welcher der 3 Gruppen an? Also wie wird unterschieden? Dann könnte ich mir das ja selbst erklären…


    Liebe Grüße

    Coffee
     
  7. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    Registriert seit:
    25.11.2003
    Korrekt ist relativ. Sicherheit nicht.
    Im Sinne der Sicherheit des Systems bietet sich als Faustregel an alles grundsätzlich so restriktiv wie möglich mit Rechten auszustatten.
    Ich würde also bei allen Dateien ausprobieren wie stark die Rechte einschränkbar sind, ohne Funktionalität aufzugeben.
    Bei Ordnern bietet sich als Standardmaske z.B. 755 an.
    D.h. der Besitzer darf alles (logisch), Gruppe und Welt dürfen nur ausführen und lesen. Warum?
    Ausführen ist notwendig um überhaupt den Inhalt des Ordners zu sehen zu bekommen, beinhaltet also auch die Möglichkeit ihn öffnen zu können.
    Leserechte dürften klar sein. Ohne Leserecht bekommst Du keine Datei zu Gesicht.
    Schreibrechte sind u.a. deswegen verboten weil z.B. so verhindert wird dass Gruppe und/oder Welt die Möglichkeit haben den Ordner zu löschen.

    Stell Dir einfach bei jeder Datei die Frage wer zwingend schreibenden/ausführenden Zugriff darauf haben muss.
    Config-Dateien beispielsweise sollten dem Prozess gehören (chown/chgrp) der schreibend darauf zugreifen muss.
    Andere müssen evtl. nur Parameter aus der Datei auslesen, da reicht also Lesezugriff.

    Aus diesen Überlegungen heraus kannst Du für jede Datei/Ordner den sichersten Status ableiten.

    Merkhilfe:
    Wem gehören Dateien? Wer soll was damit machen können?

    Grüsse,
    Flo
     
  8. sevY

    sevY Thread Starter Gast

    Ok, Flo, das hilft schon mal.

    Bei 755 auf Ordnern fungiert also die schreibende PHP-Datei quasi als Owner.
    Also ist alles das, was mittels Datei bzw Scripten und nicht direkt vom User aus geschieht, bei Schreibvorgängen auf 7XX zu setzen?

    Wie sieht das denn bei CSS und JS Dateien aus. Die bekommt der User ja weder direkt zu Gesicht noch führt er sie direkt aus…

    PHP Dateien hingegen muss der User doch ausführen können, oder?

    Mir ist immer noch nicht so richtig klar … who is who…
     
  9. maze79

    maze79 MacUser Mitglied

    Beiträge:
    222
    Zustimmungen:
    0
    Registriert seit:
    14.04.2003
    who is who... gute Frage...
    also dein webserver läuft z.B. als User "apache". somit wird das index.php, welches vom Internet aufgerufen wird, unter dem user apache laufen. das beste ist also du setzt den owner von index.php auf apache. somit brauchst du für index.php die rechte 700. verstanden? da die datei dem user gehört welcher sie auch aufruft, muss nur der owner zugriff auf die datei haben.

    ich hoffe das ist einigermasen verständlich...
     
  10. sevY

    sevY Thread Starter Gast

    Ja ich weiß ich bin schwierig…

    Tut mir leid… bei sowas tu ich mich manchmal schwer und wunder mich hinter nachdem ich es verstanden habe über meine eigene Blödheit.


    Ich erstelle die Ordner, Dateien, etc also sind das alle MEINE :D ;) Nein, kleiner Scherz.


    Wo stell ich irgendwelche User ein???

    Machen wir es mal ganz einfach mit einem Beispiel für Doofe wie mich:

    Auf meinem Rechner liegt lokal:

    1 HTML Datei
    1 PHP Datei
    1 SWF Datei
    1 CSS Datei
    1 JS Datei
    1 Ordner mit einem Bild, da nie ausgetauscht wird
    1 Ordner mit PDFs, in die welche hinzukommen bzw wo diese auch überschrieben werden können.

    Ich lade nun alle Dateien auf den Apache Webserver.

    Nun gehören sie doch dem Webserver, der ist Owner. Korrekt?
    Also darf der schon mal alles. Owner wäre dann erledigt.



    Ok.

    Nun ruft Flo über den direkten Pfad folgende Dateien auf:

    1 HTML Datei - Er als User hat Leserechte um diese Datei zu sehen.

    1 PHP Datei - Er hat als User nur Leserechte um diese Datei zu sehen und auszuführen, denn:
    Mit dieser Datei kann man über ein Formularfeld eine PDF Datei in den Ordner auf dem Server laden.
    Schreibrechte bekommt er keine, denn der Webserver schreibt ja, wie ihm in der PHP Datei gesagt, in den Ordner.

    Korrekt?

    Dieser Ordner, der nur die PDF beinhaltet, aber von niemanden direkt gesehen werden soll hat als Rechte für User nur Leserechte, damit diese Mittles href sich die PDf herunterladen können?

    Die PDF selbst muß auch Leserechte haben.

    Wenn ich dem Ordner nun Schreibrechte für World erteile, dann kann ein User diesen löschen??? Wie denn? Mittels FTP Client und anonymous login?

    Nun die CSS Datei.

    Die Parameter dieser Datei werden in die PHP/HTML Dateien eingelesen.
    User bekommt also keine Rechte dafür, nur der Server Leserechte.

    Korrekt?

    JS Dateien genauso.


    Sorry nochmal, aber ich frage lieber nach bevor ich mich bei der Abgabe des Projektes blamiere, weil ich die Flags falsch gesetzt habe.

    Liebe Grüße

    Coffee
     
Die Seite wird geladen...
Ähnliche Themen - „Chmod“ setzen aber Forum Datum
.js wird als js interpretiert aber transfered als text Web-Programmierung 17.01.2013
jQuery: Zeile duplizieren aber ID ändern? Web-Programmierung 22.11.2011
viewport Position mit JavaScript setzen Web-Programmierung 05.07.2011
Link setzen erlaubt? Web-Programmierung 15.09.2006
Rechte für Apache User setzen Web-Programmierung 26.01.2005

Diese Seite empfehlen

Benutzerdefinierte Suche