fastix®: Zugriffsrechte allgemein

Beitrag lesen

Moin!

Also, wss der Eidgenosse geschrieben halt stimmt soweit.

Also ich fang mal an.
In meiner deutschen Version von WS_FTP werden 3 ähh 'Gruppen' angezeigt.

Aha. Du arbeitest unter Windows und hast mit Linuy/Unix noch keine Erfahrung. Ok.

Die ersten 3 meiner Probleme:
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.

Wer die Gruppe?

Alle jene Benutzer welche auch einer Gruppe angehören der der Eigentümer angehört.
Im speziellen Fall: Die Datei

Wer Sonstige?

Alle anderen.
Du kannst erkennen, wem eine Datei gehört: ls -l hilft Dir.
fastix@trainer:~/Desktop> ls -l apfel.gif
-rw-r--r--    1 fastix   users       24043 2004-09-14 18:17 apfel.gif

Die Ausgabe von links nach rechts gelesen -> von oben nach unten erklärt:

  • ~ Die Datei ist kein Verzeichnis und kein Link

r ~ Der Benutzer darf die Datei lesen
w ~ Der Benutzer darf die Datei schreiben

  • ~ Der Benutzer darf die Datei nicht ausführen

r ~ Der Angehörige der Gruppe darf die Datei lesen

  • ~ Der Angehörige der Gruppe darf die Datei nicht schreiben
  • ~ Der Angehörige der Gruppe darf die Datei nicht ausführen

r ~ Jeder darf die Datei lesen

  • ~ Jeder darf die Datei nicht schreiben
  • ~ Jeder darf die Datei nicht ausführen

1 ~ Anzahl der Links auf die Datei - Unix/linux- Systeme kennen eine Art von Link wobei der Dateiname auf die gleiche Stelle im Dateisystem verweist wie ein anderer und haben einen Linkzähler.

fastix ~ Autor/Eigentümer/Benutzer
users ~ Die Gruppe, der der Autor bei Erstellung angehört hat

24043 ~ Dateigröße in Bytes
2004-09-14 18:17 ~ Datum Urzeit
apfel.gif ~ Dateiname

Die nächsten 3:
Lesen/Ausführen/Schreiben

Lesen ist klar, Schreiben auch, aber was ist Ausführen?

Ausführen:
Starten eines binären Programmes oder Skriptes (Programm in einer Interpretersprache).

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.

Es geht aber auch anders.

Man kann Skripte auch so starten:  # interpreter [Optionen) < skript
z.B. sh < test.txt
z.B. perl -W test.pl

Man ruft also den Interpreter selbst und übergibt ihm den Inhalt des Skriptes. Dazu wird für das Skript weder eine Shebang noch das Ausführen- Recht benötigt. Nur Leserechte für den aktuellen Benutzer.

Gerade bei PHP als Apache- Modul wird in etwa die zweite Methode verwendet (Das ist hier so am einfachsten erklärt, stimmt aber nicht ganz mit der Realiät überein.)

Dazu braucht das Skript keine Ausführen- Rechte für den Benutzer.

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

Wenn ich in PHP eine Datei erstelle (fopen()), ist das Script dann der Eigentümer?

Nein, derjenige, der das Skript startet.

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.

Wenn per HTTP auf ein Bild zugegriffen wird um dieses im Bwoser eines beliebigen Benutzers anzuzeigen, welche Rechte muss das Bild dann haben? Lesezugriff für Sonstige? Ausführen für weiß ich nicht?

Der Benutzer unter dem der Webserver läuft muss das Bild lesen dürfen. Also: Leserechte für alle.
Der Webserver "liest" das Bild und gibt die binären Daten einfach weiter. Das ist alles.

Vielen Dank im voraus!

Bitte.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.