Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:rechte [2018/07/09 15:57] – [su / sudo] st | linux:rechte [2018/12/14 17:43] (aktuell) – [su / sudo] st | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Rechte ====== | ||
+ | Linux bietet eine genaue Aufteilung von Zugriffsrechten auf Benutzer- und Dateiebene an. Außerdem werden mit den Dateisystemen ext2 und ext3 einige (selten benutzte) Attribute eingeführt. | ||
+ | |||
+ | |||
+ | ===== Links ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ===== Benutzerrechte: | ||
+ | |||
+ | ==== su / sudo ==== | ||
+ | |||
+ | * mit '' | ||
+ | su | ||
+ | allgemein : | ||
+ | su user | ||
+ | |||
+ | Mit '' | ||
+ | * sudo für Benutzer mit Passwortabfrage: | ||
+ | * ohne Passwortabfrage < | ||
+ | * ...ohne Passwortabfrage nur für einzelne Befehle freigeben: < | ||
+ | * Für die Gruppe sudo alle Befehle ohne Passwort freigeben:< | ||
+ | |||
+ | :!: Die Datei ''/ | ||
+ | |||
+ | Besser ist es (auch im Sinne von Automatisierungen), | ||
+ | |||
+ | |||
+ | === Umgebungsvariablen === | ||
+ | |||
+ | sudo räumt die Umgebungsvariablen des aufrufenden Benuzers nach bestimmten Regeln weg ((<code bash> | ||
+ | |||
+ | * Für einen bestimmten Befehl: < | ||
+ | * Für alle Befehle des Benutzers " | ||
+ | |||
+ | hinzufügen: | ||
+ | |||
+ | siehe auch: https:// | ||
+ | |||
+ | |||
+ | === Links === | ||
+ | |||
+ | |||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | ===== Dateirechte | ||
+ | |||
+ | |||
+ | ==== Dateirechte setzen: chmod = Change Mode ==== | ||
+ | '' | ||
+ | |||
+ | Allgemeine Syntax: '' | ||
+ | |||
+ | Die **Abkürzungen für die einzelnen Rechte** sind | ||
+ | |||
+ | ^ Abkürzung ^ Bedeutung des Dateirechts ^ zählt oktal ^ | ||
+ | | **r** | (read) für lesen | 4 | | ||
+ | | **w** | (write) für schreiben | 2 | | ||
+ | | **x** | (execute) für ausführen einer Datei bzw. hineinwechseln bei einem Verzeichnis | 1 | | ||
+ | | **X** | nur ausführen wenn es ein Verzeichnis ist oder schon ausführrechte für einen Benutzer hat. | - (wird nur relativ benutzt) | | ||
+ | | **s** | [[wpde> | ||
+ | | **t** | [[wpde> | ||
+ | |||
+ | |||
+ | Der **Wirkungsbereich** wird mit den Buchstaben | ||
+ | * **u** (user=Eigentümer) | ||
+ | * **g** (group=Gruppe) | ||
+ | * **o** (others=Andere) oder | ||
+ | * **a** (all=alle: wirkt auf Eigentümer, | ||
+ | festgelegt. | ||
+ | |||
+ | |||
+ | chmod akzeptiert Parameter in **drei verschiedenen Formen**: | ||
+ | |||
+ | * **Relativ: | ||
+ | * man kann auch mehrere solcher Strings eingeben: '' | ||
+ | * **Absolut in Oktalschreibweise: | ||
+ | - 3stellig: '' | ||
+ | - 4stellig: '' | ||
+ | * **Vergleichend: | ||
+ | |||
+ | |||
+ | === Beispiel === | ||
+ | |||
+ | ^ Recht(e) ^ Besitzer ^ Gruppe ^ Andere ^ | ||
+ | | lesen | r- - | r- - | r- - | | ||
+ | | lesen und schreiben | rw- | rw- | rw- | | ||
+ | | lesen und ausführen | r-x | r-x | r-x | | ||
+ | | lesen, schreiben und ausführen | rwx | rwx | rwx | | ||
+ | |||
+ | wird zu | ||
+ | |||
+ | ^ Recht(e) | ||
+ | ^ Bezeichnung ^ Besitzer ^ Gruppe ^ Andere ^ Binär ^ Addition der Stellen + Umwandlung in Oktalzahlschreibweise ^ | ||
+ | | lesen | 4 | 4 | 4 | r - - => 100 | 1x 2< | ||
+ | | lesen und schreiben | 6 | 6 | 6 | rw- => 110 | 1x 2< | ||
+ | | lesen und ausführen | 5 | 5 | 5 | r-x => 101 | 1x 2< | ||
+ | | lesen, schreiben und ausführen | 7 | 7 | 7 | rwx => 111 | 1x 2< | ||
+ | |||
+ | **Es zählen also: read=4 write=2 execute=1** | ||
+ | |||
+ | |||
+ | |||
+ | === Sonderrechte SUID, SGID, Sticky === | ||
+ | |||
+ | ^ ^ Auswirkung auf... ^^^ | ||
+ | ^ Sonderrecht ^ reguläre Dateien ^ ausführbare Dateien ^ Verzeichnisse ^ | ||
+ | ^ [[wpde> | ||
+ | ^ [[wpde> | ||
+ | ^ [[wpde> | ||
+ | ==== umask ==== | ||
+ | Mit der Angabe der umask wird dem Benutzer eine (sichere) Standardberechtigungsmaske für neue Dateien vorgegeben. Alle erstellten Dateien werden dann mit der angegeben umask erstellt. Die umask arbeitet als Subtrahend: Von den ursprünglich vollen Rechten wird die umask abgezogen, so dass eine sichere Einstellung übrig bleibt. Mit der Angabe '' | ||
+ | |||
+ | ^ umask ^ Auswirkung ^ | ||
+ | | 002 | Jeder kann die Dateien lesen und Gruppenmitglieder sogar verändern. | | ||
+ | | 022 | Jeder kann die Dateien lesen aber kein anderer kann sie verändern. | | ||
+ | | 027 | Nur Gruppenmitglieder können die Dateien lesen, kein anderer kann sie verändern. | | ||
+ | | 077 | Kein anderer auf dem System kann die Dateien lesen oder verändern. | | ||
+ | |||
+ | Man trägt sie **benutzerspezifisch** in der Konfigurationsdatei der jeweils verwendeten Shell (z.B. '' | ||
+ | |||
+ | |||
+ | ==== POSIX-ACLs / Erweiterte ACLs ==== | ||
+ | |||
+ | [[wpde> | ||
+ | |||
+ | :!: Erweiterte ACLs funktionieren nur mit mount-Option " | ||
+ | |||
+ | < | ||
+ | |||
+ | Ausgabe von mount: | ||
+ | < | ||
+ | |||
+ | Anzeige von ls wenn erweiterte ACLs (hier auf " | ||
+ | < | ||
+ | |||
+ | Beispiele: | ||
+ | * Benutzer User1 bekommt rwx auf " | ||
+ | * User1 darf überhaupt nichts lesen auch wenn seine Gruppe dürfte: <code bash> | ||
+ | * alle erweiterten ACLs von " | ||
+ | * erweiterte ACL von " | ||
+ | |||
+ | Unter [[linux: | ||
+ | |||
+ | |||
+ | === Links === | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Attribute in ext2/3 ==== | ||
+ | Das ext2-/ | ||
+ | Folgende Dateiattribute sind definiert: | ||
+ | |||
+ | ^ Attribut ^ Bedeutung ^ | ||
+ | | **a** (//a//ppend only) | Die Datei kann beschrieben werden, jedoch nur durch anhängen von Daten. Bereits vorhandene Daten können nicht mehr geändert, gelöscht oder überschrieben werden. Sinnvoll ist dies beispielsweise bei Logdateien. | | ||
+ | | **c** (// | ||
+ | | **i** (// | ||
+ | | **s** (//s//ecure deletion) | Beim Löschen werden die festplattensektoren dieser Datei mit Zufallsdaten überschrieben, | ||
+ | | **S** (// | ||
+ | | **u** (// | ||
+ | |||
+ | Diese können mit dem Befehl '' | ||
+ | |||
+ | Vollständige Liste der Attribute: append only (a), compressed (c), no dump (d), extent format (e), immutable (i), data journalling | ||
+ | |||
+ | Folgende Attribute sind nicht änderbar von chattr, könnten aber von lsattr angezeigt werden: huge file (h), compression error (E), indexed directory (I), compression raw access (X), and compressed dirty file (Z). |