HOWTO zur "Rechte-Anomalie" unter UNIX/Linux (C) 2006-2017 T.Birnthaler/H.Gottschalk OSTC Open Source Training and Consulting GmbH http://www.ostc.de $Id: unix-rights-anomaly-HOWTO.txt,v 1.25 2020/02/24 06:36:18 tsbirn Exp $ Dieses Dokument beschreibt die "Rechte-Anomalie" auf UNIX/Linux-Systemen. Damit ist gemeint, dass manche auf einer Datei möglichen Operationen von den Rechten des Verzeichnisses, in dem diese Datei liegt, abhängen. ________________________________________________________________________________ INHALTSVERZEICHNIS 1) Einführung 2) Notwendige Rechte für bestimmte Tätigkeiten ________________________________________________________________________________ 1) Einführung ------------- Die KOMBINATION der Rechte einer Datei und des Verzeichnisses, in dem sie steht, entscheidet darüber, welche Operationen mit der Datei erlaubt sind: * DATEIRECHTE entscheiden über die Berechtigung von Operationen am DATEI-INHALT (z.B. lesen, kopieren, ändern, als Programm aufrufen). * VERZEICHNISRECHTE entscheiden über die Berechtigung von Operationen an DATEI-NAMEN in Verzeichnis-Listen (z.B. erstellen, umbenennen, verschieben, löschen). Am Beispiel einer DATEI in einem VERZEICHNIS werden die jeweils erlaubten Dateioperationen in 2 verschiedenen Rechtekombinationen (A) + (B) beschrieben: (A) (B) +=============+ rwx | VERZEICHNIS | r-x +======+======+ | ,------+------. r-- | DATEI | rw- `-------------' +------------------------------------+------------+-----------+-----------+ | Datei-Operation | Bezug | (A) | (B) | +------------------------------------+------------+-----------+-----------+ | Lesen/Öffnen (more) | Inhalt | ja | ja | | Kopieren (cp) | Inhalt | ja | -- (*) | | Überschreiben/Speichern (>) | Inhalt | -- | ja | | Editieren = Ändern (vi) | Inhalt | -- | ja | | (Lesen + Schreiben) | | | | | Löschen (Inhalt) (>) | Inhalt | -- | ja | | Drucken (Inhalt) (lpr) | Inhalt | ja | ja | +------------------------------------+------------+-----------+-----------+ | Berühren (touch) | Name/Inode | ja | ja | | Hard-Link erstellen (ln) | Name/Inode | ja | -- (*) | | Soft-Link erstellen (ln -s) | Name | ja | -- (*) | | Erzeugen (touch) | Name/Inode | ja | -- | | Umbenennen (mv) | Name | ja | -- | | Verschieben (mv) | Name | ja | -- | | Entfernen/Löschen (Name) (rm) | Name | ja | -- | +------------------------------------+------------+-----------+-----------+ | Ausführen (./DATEI) | Rechte | -- | -- | +------------------------------------+------------+-----------+-----------+ (*) "ja", wenn das Zielverz. ein anderes Verz. ist (in dem Schreibrecht gesetzt ist!) Ist ein Verz. nicht lesbar (Recht "r" fehlt), dann muss für den Zugriff auf eine Datei ihr Name bekannt sein (ein Auflisten des Verz.inhalts ist nicht möglich)! 2) Notwendige Rechte für bestimmte Tätigkeiten ---------------------------------------------- +---------------------------------+----------+-------+-------+-------+ | | Kommando | Verz. | Datei | Typ | +---------------------------------+----------+-------+-------+-------+ | In Verz. wechseln | cd | - - x | - - - | | | Verz.-Inhalt auflisten (Namen) | ls | r - - | - - - | N | | Datei-Info auflisten (Inodes) | ls -l | r - x | - - - | N M | +---------------------------------+----------+-------+-------+-------+ | Datei berühren (Inode) | touch | - - x | - - - | N M | | Datei lesen/öffnen | more | - - x | r - - | N I | | Datei schreiben/speichern (n.ez)| > DATEI | - - x | - w - | N I M | | Datei editieren (ändern) | vi | - - x | r w - | N I | | Datei kopieren (aus Verz. raus) | cp | - - x | r - - | N I | | Datei drucken | lpr | - - x | r - - | N I | +---------------------------------+----------+-------+-------+-------+ | Datei kopieren (in Verz. rein) | cp | - w x | r - - | N I M | | Datei erzeugen | > DATEI | - w x | - - - | N I M | | Datei umbenennen | mv | - w x | - - - | N | | Datei verschieben | mv | - w x | - - - | N | | Datei löschen | rm | - w x | - - - | N M | +---------------------------------+----------+-------+-------+-------+ | Binärprogr. ausführen | DATEI | - - x | - - x | N I | | Shellskript ausführen (A) | DATEI | - - x | r - x | N I | | Shellskript ausführen (B) | sh DATEI | - - x | r - - | N I | | Hardlink auf Datei anlegen | ln | - w x | - - - | N M | | Softlink auf Datei anlegen | ln -s | - w - | - - - | N | | Softlink auf Datei benutzen | | - - x | - - - | N | +---------------------------------+----------+-------+-------+-------+ | Besitzer ändern | chown | root | M | | Besitzer-Gruppe ändern | chgrp | Besitzer+root | M | | Rechte ändern | chmod | Besitzer+root | M | | Attribute ändern (Datum) | touch | Besitzer+root | M | +---------------------------------+----------+---------------+-------+ Typ = N)ame I)nhalt M)etadaten Ist ein Verz. nicht lesbar, dann müssen die Namen für den Zugriff auf Dateien bekannt sein (Auflisten des Verz.inhalts ist nicht möglich)!