Danke erstmal für Deine verständliche und ausführliche Hilfestellung!
Hast mir schon enorm weitergeholfen.
Wer ist der Eigentümer?
In der Regel der Benutzer, der eine Datei erstellt hat. Man kann aber unter UNIX/LINUX auch mit dem Befehl chown den Eigentümer ändern.
Also, wenn der Indianer z.B. unter dem Usernamen 'Apache' angemeldet ist, ist der Eigentümer einer durch PHP erstellten Datei (was für eine auch immer das sein mag) 'Apache' - folglich: für die durch PHP erstellte Datei, sind nur die Rechte des Eigentümers von Belang, sofern das PHP Script die erstellte Datei weiterverwenden will (was auch immer) -> wenn ich das richtig verstanden habe.. ;-)
Möchte ich, das die erstellte Datei (sagen wir mal ein HTM-Dokument) aber auch über das Internet erreichbar bzw. aufrufbar ist, muss ich der Datei das 'Lesen'-Recht geben. OK. Verstanden.
Ich habe das gerade mal nachvollzogen.
Seltsamerweise reicht es bei mir aus (bin bei Domainfactory), der Gruppe das Lesen-Recht zu geben. Sonstige benötigt bei mir überhaupt keine Rechte. Aber das ist wohl ne Sache, wie der Indianer konfiguriert wurde. Denke ich mir jedenfalls mal.
Wer die Gruppe?
Alle jene Benutzer welche auch einer Gruppe angehören der der Eigentümer angehört.
Im speziellen Fall: Die Datei
Hmmm, ne, das kapier ich nicht.
Wenn ein PHP Script aufgerufen wird, wird dann ein Ausführenrecht oder ein Leserecht oder beides gebraucht?
Jein. Das hängt von einigem ab.Prinzipiell sind PHP-Skripte menschen- und maschinenlesbare Textdateien.
Wenn diese in der ersten Zeile eine Shebang (" #! /usr/bin/php ")beinhalten (wie z.B. Perl- Skripte) dann würde bei einem direkten Aufruf des PHP Skriptes z.B. am Prompt diese Shebang geprüft und der Interpreter (/usr/bin/php) aufgerufen um das Skript auszuführen. Dann müsstest Du Ausführen und Leserechte für das Skript setzen.Dies ist die gängige Methode für Perl und Shellskripte, also *.pl, .sh.
Ich glaube, das versteh ich. Wenn ein Script eine Shebang benötigt (wie Perl), wird anhand dessen explizit der Interpreter aufgerufen, was wiederrum ein Ausführenrecht erfordert.
Im anderen Fall (z.B. PHP als Apachemodul) wird direkt der Interpreter aufgerufen und ihm nur das zu übersetzende Script übergeben, was nur Leserechte erfordert (das wiederum versteh ich nicht, ist aber auch nicht so wichtig..).
Was bedeutet das Ausführenrecht bei einem Verzeichnis? Dieses Recht kann ich ja auch ändern.
Bei Verzeichnissen berechtigt das "Ausführen" zum Betreten des Verzeichnisses.
Z.B. mit cd verzeichnis
Was bedeutet das bezogen auf das Internet? Stichwort 'Verzeichnisbrowsing" - also 'Ausführen' ist erforderlich, wenn der Wevserver den Verzeichnisinhalt ausgeben soll?
Wenn ich per FTP eine Datei hochlade, wie sind dann die Rechte vergeben? Also wer ist der Eigentümer, wer die Gruppe, etc.?
Das ist jetzt nicht ganz einfach erklärt. Prinzipiell der Benutzer unter dem der FTP-Server gestartet wird. Aber, da dies keine gute Idee ist versehen viele FTP- Server die Dateien entweder mit den Rechten des Benutzers, den sie bei der Anmeldung am Server erkennen oder anhand einer "Maske" des Verzeichnisses.
Dieses Verfahren trifft z.B. auch beim Fileserver wie z.B. den Samba- Server zu. Näheres dazu in der Dokumentation Deines FTP-Servers.
Ok, wenn ich z.B. eine Datei per FTP hochlade, erhält diese die Rechte 740. Dann ist das also eine Sache, die im FTP-Server konfiguriert wurde.
Gruß
Maiko