OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

3.4.4. Rechteverwaltung‌


Da Linux ein Mehrbenutzersystem ist, ist es notwendig, ein Berechtigungssystem bereitzustellen, um den Satz autorisierter Vorgänge auf Dateien und Verzeichnisse zu steuern, das alle Systemressourcen und Geräte umfasst (auf einem Unix-System wird jedes Gerät durch eine Datei oder dargestellt). Verzeichnis). Dieses Prinzip ist allen Unix-ähnlichen Systemen gemeinsam.

Jede Datei oder jedes Verzeichnis verfügt über spezifische Berechtigungen für drei Benutzerkategorien:


• Sein Besitzer (symbolisiert durch u, wie in Benutzer)


• Seine Besitzergruppe (symbolisiert durch g, wie in Gruppe), der alle Mitglieder der Gruppe repräsentiert


• Die anderen (symbolisiert durch o, wie in anderen) Drei Arten von Rechten können kombiniert werden:

• Lesen (symbolisiert durch r, wie in lesen);


• Schreiben (oder Modifizieren, symbolisiert durch w, wie in schreiben);


• Ausführen (symbolisiert durch x, wie in eXecute).


Im Fall einer Datei sind diese Rechte leicht zu verstehen: Lesezugriff ermöglicht das Lesen des Inhalts (einschließlich Kopieren), Schreibzugriff ermöglicht das Ändern des Inhalts und Ausführungszugriff ermöglicht das Ausführen (was nur funktioniert, wenn es sich um ein Programm handelt).


setuid und setgid Für ausführbare Dateien sind zwei besondere Rechte relevant: setuid und setgid (symbolisiert ausführbare Dateien mit dem Buchstaben „s“). Beachten Sie, dass wir häufig von Bit sprechen, da jeder dieser booleschen Werte durch eine 0 oder eine 1 dargestellt werden kann. Diese beiden Rechte ermöglichen jedem Benutzer die Ausführung

das Programm mit den Rechten des Eigentümers bzw. der Gruppe. Dieser Mechanismus gewährt Zugriff auf Funktionen, die höhere Berechtigungen erfordern, als Sie normalerweise haben würden.

Seit einem setuid Da das Root-Programm systematisch unter der Superuser-Identität ausgeführt wird, ist es sehr wichtig, sicherzustellen, dass es sicher und zuverlässig ist. Jeder Benutzer, der es schafft, ein Setuid-Root-Programm zu unterwandern, um einen Befehl seiner Wahl aufzurufen, könnte sich dann als Root-Benutzer ausgeben und über alle Rechte auf dem System verfügen. Penetrationstester suchen regelmäßig nach solchen Dateitypen, wenn sie Zugriff auf ein System erhalten, um ihre Berechtigungen zu erweitern.

setuid und setgid Für ausführbare Dateien sind zwei besondere Rechte relevant: setuid und setgid (symbolisiert ausführbare Dateien mit dem Buchstaben „s“). Beachten Sie, dass wir häufig von Bit sprechen, da jeder dieser booleschen Werte durch eine 0 oder eine 1 dargestellt werden kann. Diese beiden Rechte ermöglichen jedem Benutzer die Ausführung

das Programm mit den Rechten des Eigentümers bzw. der Gruppe. Dieser Mechanismus gewährt Zugriff auf Funktionen, die höhere Berechtigungen erfordern, als Sie normalerweise haben würden.

Seit einem setuid Da das Root-Programm systematisch unter der Superuser-Identität ausgeführt wird, ist es sehr wichtig, sicherzustellen, dass es sicher und zuverlässig ist. Jeder Benutzer, der es schafft, ein Setuid-Root-Programm zu unterwandern, um einen Befehl seiner Wahl aufzurufen, könnte sich dann als Root-Benutzer ausgeben und über alle Rechte auf dem System verfügen. Penetrationstester suchen regelmäßig nach solchen Dateitypen, wenn sie Zugriff auf ein System erhalten, um ihre Berechtigungen zu erweitern.


Image

Ein Verzeichnis wird anders behandelt als eine Datei. Der Lesezugriff gewährt das Recht, die Liste seiner Inhalte (Dateien und Verzeichnisse) einzusehen; Schreibzugriff ermöglicht das Erstellen oder Löschen von Dateien; und der Ausführungszugriff ermöglicht das Durchqueren des Verzeichnisses, um auf seinen Inhalt zuzugreifen (z. B. mit dem cd Befehl). Die Möglichkeit, ein Verzeichnis zu durchsuchen, ohne es lesen zu können, gibt dem Benutzer die Erlaubnis, auf die namentlich bekannten Einträge darin zuzugreifen, sie jedoch nicht zu finden, ohne ihren genauen Namen zu kennen.



SICHERHEIT Das setgid Bit gilt auch für Verzeichnisse. Jedes neu erstellte Element in solchen Verzeichnissen

SICHERHEIT Das setgid Bit gilt auch für Verzeichnisse. Jedes neu erstellte Element in solchen Verzeichnissen


setgid Verzeichnis und klebrig

Bit

wird automatisch der Eigentümergruppe des übergeordneten Verzeichnisses zugewiesen, anstatt sie zu erben.

wie gewohnt die Hauptgruppe des Erstellers aufrufen. Aus diesem Grund müssen Sie Ihre Hauptgruppe nicht ändern (mit der neugrp Befehl), wenn Sie in einem Dateibaum arbeiten, der von mehreren Benutzern derselben dedizierten Gruppe gemeinsam genutzt wird.

Das klebriges Stück (symbolisiert durch den Buchstaben „t“) ist eine Berechtigung, die nur in Verzeichnissen nützlich ist. Es wird insbesondere für temporäre Verzeichnisse verwendet, in denen jeder Schreibzugriff hat (z. B / tmp /): Es schränkt das Löschen von Dateien ein, sodass nur ihr Eigentümer oder der Eigentümer des übergeordneten Verzeichnisses sie löschen kann. Andernfalls könnte jeder die Dateien anderer Benutzer löschen / tmp /.

setgid Verzeichnis und klebrig

Bit


Drei Befehle steuern die einer Datei zugeordneten Berechtigungen:

Image

chown Benutzerdatei ändert den Besitzer der Datei


TIPP Häufig möchten Sie gleichzeitig die Gruppe einer Datei ändern

TIPP Häufig möchten Sie gleichzeitig die Gruppe einer Datei ändern


Ändern des Benutzers und

Gruppe

den Besitzer wechseln. Der chown Der Befehl hat dafür eine spezielle Syntax: chown

Benutzer:Gruppendatei

Ändern des Benutzers und

Gruppe

chgrp Gruppendatei ändert die Eigentümergruppe

chmod Rechtedatei ändert die Berechtigungen für die Datei

Es gibt zwei Möglichkeiten, Rechte darzustellen. Unter diesen ist die symbolische Darstellung wahrscheinlich am einfachsten zu verstehen und zu merken. Dabei handelt es sich um die oben genannten Buchstabensymbole. Sie können Rechte für jede Benutzerkategorie definieren (u/g/o), indem Sie sie explizit festlegen (mit =), beim Hinzufügen

(+) oder Subtrahieren (-). Und so kam es dass der u=rwx,g+rw,or Die Formel gewährt dem Besitzer Lese-, Schreib- und Ausführungsrechte, fügt Lese- und Schreibrechte für die Besitzergruppe hinzu und entfernt Leserechte für andere Benutzer. Rechte, die durch die Addition oder Subtraktion in einem solchen Befehl nicht geändert werden, bleiben unverändert. Der Buchstabe a, für alle, deckt alle drei Kategorien von Benutzern ab, sodass a=rx gewährt allen drei Kategorien die gleichen Rechte (Lesen und Ausführen, aber nicht Schreiben).

Die (oktale) numerische Darstellung ordnet jedem Recht einen Wert zu: 4 für Lesen, 2 für Schreiben und 1 für Ausführen. Wir verknüpfen jede Rechtekombination mit der Summe der drei Zahlen und weisen jeder Benutzerkategorie in der üblichen Reihenfolge (Eigentümer, Gruppe, andere) einen Wert zu.

Zum Beispiel kann die chmod 754 Datei Der Befehl setzt die folgenden Rechte: Lesen, Schreiben und Ausführen für den Besitzer (da 7 = 4 + 2 + 1); für die Gruppe lesen und ausführen (da 5 = 4 + 1); schreibgeschützt für andere. Der 0 bedeutet keine Rechte; daher chmod 600 Datei Ermöglicht Lese- und Schreibberechtigungen für den Eigentümer und keine Rechte für andere Personen. Die häufigsten richtigen Kombinationen sind 755 für ausführbare Dateien und Verzeichnisse und 644 für Datendateien.

Zur Darstellung von Sonderrechten können Sie dieser Nummer nach dem gleichen Prinzip eine vierte Ziffer voranstellen, wobei die setuid, setgid und klebrig Bits sind jeweils 4, 2 und 1. Der Befehl chmod 4754 wird das assoziieren setuid Bit mit den zuvor beschriebenen Rechten.

Beachten Sie, dass Sie mit der Oktalschreibweise nur alle Rechte auf einmal für eine Datei festlegen können. Sie können damit kein neues Recht hinzufügen, z. B. einen Lesezugriff für den Gruppeneigentümer, da Sie die vorhandenen Rechte berücksichtigen und den neuen entsprechenden Zahlenwert berechnen müssen.

Die oktale Darstellung wird auch mit verwendet umask Befehl, der verwendet wird, um Berechtigungen für neu erstellte Dateien einzuschränken. Wenn eine Anwendung eine Datei erstellt, weist sie entsprechende Berechtigungen zu, wobei sie weiß, dass das System die mit definierten Rechte automatisch entfernt umask. Eingeben umask in einer Schale; Sie sehen eine Maske wie z 0022. Hierbei handelt es sich lediglich um eine oktale Darstellung der Rechte, die systematisch entfernt werden sollen (in diesem Fall die Schreibrechte für die Gruppe und andere Benutzer).

Image

Wenn Sie ihm einen neuen Oktalwert geben, wird der umask Der Befehl ändert die Maske. Wird in einer Shell-Initialisierungsdatei verwendet (z. B. ~ / .bash_profile), wird dadurch die Standardmaske für Ihre Arbeitssitzungen effektiv geändert.


TIPP Manchmal müssen wir Rechte für einen gesamten Dateibaum ändern. Alle oben genannten Befehle

TIPP Manchmal müssen wir Rechte für einen gesamten Dateibaum ändern. Alle oben genannten Befehle


Rekursive Operation

haben ein -R Option zum rekursiven Arbeiten in Unterverzeichnissen.

Die Unterscheidung zwischen Verzeichnissen und Dateien verursacht manchmal Probleme bei rekursiven Operationen. Deshalb wurde in der symbolischen Darstellung von Rechten der Buchstabe „X“ eingeführt. Es stellt ein Ausführungsrecht dar, das nur für Verzeichnisse gilt (und nicht für Dateien, denen dieses Recht fehlt). Daher, chmod -R a+X Verzeichnis fügt nur Ausführungsrechte für alle Benutzerkategorien hinzu (a) für alle Unterverzeichnisse und Dateien, für die mindestens eine Benutzerkategorie (auch wenn deren alleiniger Eigentümer) bereits Ausführungsrechte hat.

Rekursive Operation

Top OS Cloud Computing bei OnWorks: