Rechthaber der I.: chmod: Begriffe "lesen", "schreiben", "ausführen" wirklich verstehen

Beitrag lesen

Fangen wir einmal mit der letzten Ziffer an, der ganzen Welt:
Wenn ich eine html-Datei der allereinfachsten Art habe und möchte, dass die ganze Welt diese Datei als Internet-Seite AUFRUFEN kann, dann reicht es, dass ich „lesen” angebe, nicht wahr?

Genau genommen reicht es, wenn der Webserver diese lesen kann. Der läuft manchmal als www-data, kann aber auch (für virtuelle Hosts als ein durch die Konfiguaration bestimmter Benutzer agieren.

Wenn die html-Seite Hintergrundbilder (src…), Bilder (img…), eingebundene CSS-Dateien (link…) EINBINDET und wenn man sich von der Seite auf eine andere BEGEBEN kann (a href…), reicht dann immer noch das „lesen”?

Siehe oben.

Wenn ich die html-Datei in eine php-Datei umbenenne, ohne jedoch richtiges php einzufügen, bleibt es dann immer noch bei „lesen”, oder muss da etwas „ausgeführt” werden?

Lesen reicht regelmäßig, weil der Webserver auf mindestens 3 verschiedene Arten PHP ausführt und dem PHP sagt, dass dieses das Skript abarbeiten soll. Ausgeführt wird also PHP. Manchmal der Webserver mit PHP als Modul. Als welcher Benutzer PHP läuft? Siehe oben.

Und was ist mit Bilddateien (jpg, png…)? Habe ich richtig verstanden, dass Bilder „gelesen” werden?

Ja.

Und die CSS-Dateien? Werden die auch „gelesen”?

Ja.

Und Kontaktformulare, welche die Besucher AUSFÜLLEN, und die mit Javascript und PHP arbeiten? Muss man da „schreiben” hinzufügen?

Nein!

Und was würde sich ändern, wenn man bei all diesen Dateien „schreiben” hinzufügte?

Man (User, Gruppe, Andere) könnte den Inhalt der Datei ändern.

Des weiteren glaube ich verstanden zu haben, dass für Ordner „5” empfohlen wird. Dass das Ausführrecht nötig ist, um den ZUGANG zu den Dateien zu GEWÄHRLEISTEN, habe ich verstanden. Aber wozu braucht die Welt bei den Ordnern das Leserecht? Was würde sich ändern, wenn ich das Leserecht unterdrückte (also die letzte Ziffer auf „1” setzte)?

Dann könnte man den Ordner betreten (cd), aber nicht dessen Inhalt lesen, was problematisch ist...

Und was würde passieren, wenn man „schreiben” hinzufügte?

Dann könntest Du Dateien und Unterordner hinzufügen, umbenennen oder löschen. Dazu müsste aber deren (Nicht-)Existenz erfahrbar sein, was ohne das Lesen-Recht nicht geht. Wenn eine Datei gelöscht, angelegt oder umbenannt werden soll ist nicht erfahrbar, ob diese existiert. Das führt zu Fehlern.

Nächster Fragenkomplex, die mittlere Ziffer (Gruppe) betreffend:
Wenn ich eine Web-Site alleine betreibe, muss ich dann die Rechte der Gruppe

  • auf „0” stellen
  • auf dieselbe Ziffer stellen wie die letzte Ziffer
  • auf dieselbe Ziffer stellen wie die erste Ziffer?

Das kommt auf eine Menge Umstände an. Zum Beispiel wer in welcher Gruppe ist und unter welchen Benutzer (und welcher Gruppe) der Webserver agiert.

Letzter Fragenkomplex, die erste Ziffer betreffend: Hier verstehe ich am allerwenigsten. Ich habe zwar Empfehlungen gelesen, die besagen, dass man bei Dateien die erste Ziffer auf „6” stellen soll (um es noch einmal zu wiederholen: ich weiß,dass damit „lesen” und „schreiben” gemeint ist) und bei den Ordnern auf „7” ( ich weiß, dass das alle Rechte beinhaltet). Aber warum?

  • Wenn der Eigentümer Dateien lesen und schreiben will, Dann erste Ziffer auf 6 (rw).

  • Wenn der Eigentümer Dateien lesen will, Dann erste Ziffer auf 4(r).

  • Wenn der Eigentümer Verzeichnisse betreten, darin Dateisystemeinträge (Dateien, Unterverzeichnisse,...) lesen, anlegen, löschen oder umbenennen will, dann 7(rwx).

  • Wenn der Eigentümer Verzeichnisse betreten, darin Dateisystemeinträge (Dateien, Unterverzeichnisse,...) nur lesen will, dann 5(rx).

Wenn ich meine Dateien von meinem Computer auf den Server des Providers mittels Filezilla HOCHLADE, von welchem Recht mache ich da Gebrauch?

Schreiben in ein Verzeichnis. Im Übrigen interessiert mehr das Protokoll als die Software und die Konfiguration des Servers als die Clientsoftware.

Vom Ausführrecht oder vom Schreibrecht? Oder wenn ich die Datei auf demselben Weg wieder LÖSCHE?

Betreten des Verzeichnisses, Schreiben in ein Verzeichnis.

Wozu brauche ich persönlich Leserechte?

Um den Inhalt der Datei oder des Verzeichnisses ansehen zu können.

Ich kann doch meine Dateien vor dem Hochladen auf meinem Computer ANSCHAUEN, und nach dem Hochladen kann ich die Seite so wie die ganze Welt AUFRUFEN.

Davon weiß aber Dein Linux-Dateisystem nichts.

Was ändern die zusätzlichen Rechte? Was würde passieren, wenn ich nur genauso viele Rechte wie die ganze Welt hätte?

Kommt darauf an, welche Rechte der Eigentümer, die Gruppe und die Anderen haben, wem die Datei gehört und als welcher Benutzer bzw. Gruppe der Webserver agiert.

1.) Wenn Ihr mir antwortet, braucht Ihr nicht Frage für Frage beantworten.

Zusammenfassung.

  1. Bei den Rechten an Dateien geht es darum, wer was MIT der Datei machen darf, nicht was die Datei machen darf. Die Datei selbst macht nämlich gar nichts.
  2. Ein Programm, welches Du startest, läuft mit Deinen Rechten. (ich lasse sudo mal außen vor)
  3. Auch Dienste wie der Webserver (und also PHP) agieren unter einer Benutzerkennung, möglicherweise (häufig) sogar unter der Deinen.