Es gibt Momente, da sollte man schon einige interne Kenntnisse des Systems haben - zum Beispiel wie das Dateisystem und die Rechtvergabe unter LINUX funktionieren.
Allgemeines:
Das Dateisystem ist hierarchisch geordnet:
Dateien bestehen aus einem Dateikopf (der INode) und ihrem eigentlichen Inhalt.
Der Status einer Datei (lesen, schreiben, ausführen) wird über einzelne Bits in drei Anwenderklassen gesteuert:
Beispiel (Datei):
Diese Datei heißt "test" und ist am 26.März diesen Jahres um 20:01 erstellt worden. Sie ist 12 Bytes groß, gehört dem Nutzer "uwe" der in der Gruppe "lehrer" ist. Und nun zu den Rechten:
Diese jeweils drei Bits werden zu einer dezimalen Zahl zusammenaddiert:
Und der Befehl zum Zuweisen dieser Rechte:
Und kontrollieren kann man das dann mit:
Beispiel (Verzeichnis):
Dieses Verzeichnis (erkennbar vorn am "d" für directory) heißt "test2" und ist am 26.März diesen Jahres um 20:01 erstellt worden. Es gehört dem Nutzer "uwe" der in der Gruppe "lehrer" ist. Und nun zu den Rechten:
Besondere Zugriffsrechte:
Es hat den Bitwert 4000 (einfach dazu addieren) und wird durch ein "s" statt dem "x" des Users dargestellt und hat nur für ausführbare Dateien eine Bedeutung:
Dieses setuid-bit bewirkt folgendes: Wenn ein berechtigter Nutzer (hier im Bsp. die Gruppe "lehrer" diese Datei ausführt, dann wird sie nicht mit seinen eigenen Rechten, sondern mit den Rechten des Eigentümers der Datei ausgeführt. Aber Vorsicht, es kann bei unbedachter Anwendung zu gravierenden Sicherheitslücken im System führen.
Es hat den Bitwert 2000 (einfach dazu addieren) und wird durch ein "s" oder "S" statt dem "x" der Gruppe dargestellt und hat nur für Verzeichnisse eine Bedeutung:
Dieses setgid-bit bewirkt folgendes: Wenn ein berechtigter Nutzer Dateien in dieses Verzeichnis speichert, dann werden sie nicht unter seiner eigenen Gruppenzugehörigkeit, sondern unter der Gruppenbezeichnung des Verzeichnisses (hier "lehrer") gespeichert. Das macht für gemeinsam zu bearbeitende Projekte manchmal Sinn.
Es hat den Bitwert 1000 (einfach dazu addieren) und wird durch ein "t" oder "T" statt dem "x" für "alle" dargestellt und hat heute nur noch nur für Verzeichnisse eine Bedeutung:
Dieses sticky-bit bewirkt folgendes: Wenn ein berechtigter Nutzer Dateien in dieses Verzeichnis speichert, kann nur er selbst diese wieder löschen, obwohl andere auch Schreibrechte besitzen können. Das macht zum Beispiel für temporäre Dateien aller User in einem gemeinsamen Verzeichnis Sinn.
Mit einem Link ist ein und dieselbe Datei/Verzeichnis über mehrere (verschiedene) Namen aus eventuell sogar verschiedenen Verzeichnissen heraus ansprechbar.
Es wird einfach ein zusätzlicher Verzeichniseintrag auf eine Datei erstellt.
Ein Softlink ist selbst eine Datei, die auf eine andere Datei oder ein anderes Verzeichnis zeigt:
Beispiel (Verzeichnis):
Dieser Softlink auf ein bestehendes Verzeichnis (erkennbar vorn am "l" anstatt "d") heißt "cdrom" und zeigt auf das physisch vorhandene Verzeichnis "scd0".
© Reiner Klaproth, 03.01.2002
vielen Dank an Uwe Schoffer für die Beschreibung