Vollbildmodus: Seiteninhalt ohne Menus

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

Benutzerrechte:

su / sudo

  • mit su wird man dauerhaft zu einem Benutzer, z.B. root:

su allgemein :

su user
  • mit sudo kann man sich für eine einzelne Aktion mit root-Rechten ausstatten. Dazu muss in /etc/sudoers Erlaubnis erteilt sein: z.B. eine Zeile
MeinBenutzer ALL=(ALL) ALL

oder man kann auch ohne Passwortabfrage einzelne Befehle freigeben:

MeinBenutzer ALL = NOPASSWD: /sbin/reboot, /sbin/halt

:!: Die Datei /etc/sudoers sollte man übrigens nur mit dem Kommando visudo editieren.

Using Sudo to Limit Access Einrichten eines Root-Befehls für einen User per visudo

Dateirechte

Dateirechte setzen: chmod = Change Mode

chmod setzt die Zugriffsrechte für Dateien und Verzeichnisse.

Allgemeine Syntax: chmod [Parameter] [Datei(en) bzw. Verzeichnis(se)]

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 setuid(=SUID) / setgid (=SGID): Beim Ausführen wird der Benutzer (setuidSUID) oder die Gruppe der Datei (SGID) gesetzt und nicht die des aufrufenden Benutzers/Gruppe) Anmerkung: Auf den meisten Systemen funktioniert dies nur für ausführbare Binärdateien, nicht jedoch für interpretierte Scripts. SUID = 4 SGID = 2
t sticky: auf ein Verzeichnis angewandt bedeutet es, dass jeder Benutzer nur seine Dateien lesen/ändern darf (Anwendung bei /tmp) 1

Der Wirkungsbereich wird mit den Buchstaben

  • u (user=Eigentümer)
  • g (group=Gruppe)
  • o (others=Andere) oder
  • a (all=alle: wirkt auf Eigentümer, Gruppe und Andere gleichermaßen)

festgelegt.

chmod akzeptiert Parameter in drei verschiedenen Formen:

  • Relativ: [user/group/other]+/-/=rwx z.B. chmod g-r [Datei] entzieht der Gruppe das Leserecht für die angegebene Datei
    • man kann auch mehrere solcher Strings eingeben: chmod ug+r,a-x [Datei] gibt dem user (Besitzer) und der group (Gruppe) Leserechte, entzieht jedoch allen (all)die Ausführrechte
  • Absolut in Oktalschreibweise:
    1. 3stellig: chmod 640 Datei wäre rwxr----- oder
    2. 4stellig: chmod 6640 Datei wäre -rwSr-S--- (SUID+SGUID = 6 und 644 normale Recht wie vorher)
  • Vergleichend: --reference=Datei setzt dieselben Zugriffssrechte wie die angegebene Datei.

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) Berechnung
Bezeichnung Besitzer Gruppe Andere Binär Addition der Stellen + Umwandlung in Oktalzahlschreibweise
lesen 4 4 4 r - - ⇒ 100 1x 22 + 0x 21 + 0x 20 = 4+0+0 = 4
lesen und schreiben 6 6 6 rw- ⇒ 110 1x 22 + 1x 21 + 0x 20 = 4+2+0 = 6
lesen und ausführen 5 5 5 r-x ⇒ 101 1x 22 + 0x 21 + 1x 20 = 4+0+1 = 5
lesen, schreiben und ausführen 7 7 7 rwx ⇒ 111 1x 22 + 1x 21 + 1x 20 = 4+2+1 = 7

Es zählen also: read=4 write=2 execute=1

Sonderrechte SUID, SGID, Sticky

Auswirkung auf…
Sonderrecht reguläre Dateien ausführbare Dateien Verzeichnisse
SUID keine ausführen mit den Rechten des Eigentümers keine
SGID keine ausführen mit den Rechten der Gruppe Vererbung der Gruppeneigentümerschaft
sticky keine keine löschen von Dateien nur durch ihren Eigentümer

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 = 027 habe alle neu-erstellten Verzeichnisse die Rechtemaske 750 (entspricht rwxr-x---) bzw. 640 (rw-r-----) bei Dateien.

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. .bashrc bei der Shell Bash) oder systemweit in der Datei /etc/profile ein.

POSIX-ACLs

POSIX-ACLs sind Zugangskontrolllisten, die die Berechtigungen für Dienste und Dateien regeln. Sie werden eingesetzt wenn das normale Schema (siehe oben) nicht mehr ausreicht, z.B. im Zusammenhang mit Samba.

Access Control LIsts POSIX ACL: Erste Schritte POSIX-ACLs POSIX Access Control Lists on Linux Known Problems and Bugs HOWTO Use filesystem ACLs

Attribute in ext2/3

Das ext2-/ext3-Dateisystem kennt neben den Dateirechten noch so genannte Dateiattribute. Folgende Dateiattribute sind definiert:

Attribut Bedeutung
a (append 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 (compressed) nicht implementiert: Die Datei wird komprimiert geschrieben (und beim Auslesen wieder dekomprimiert).
i (immutable) Die Datei ist unveränderbar: Sie kann weder gelöscht, umbenannt noch in ihrem Inhalt verändert werden, nicht einmal ein Link zu ihr darf erstellt werden.
s (secure deletion) Beim Löschen werden die festplattensektoren dieser Datei mit Zufallsdaten überschrieben, und damit ist sie (mit normalen Mitteln) nicht wieder zu retten.
S (synchronous update) Die Datei wird grundsätzlich sofort geschrieben und nicht durch den Festplatten-Cache des Kernels schreibgepuffert.
u (undeleteable) nicht implementiert: Die Datei soll nicht überschrieben werden und somit wiederherstellbar sein.

Diese können mit dem Befehl chattr geändert und mit lsattr angezeigt werden.

 
linux/rechte.txt · Zuletzt geändert: 2010/12/16 00:00 von st
 
Backlinks: [[linux:rechte]]