Zugriffskontrolllisten in Ubuntu

Zugriffskontrolllisten in Ubuntu
Benutzerkonten werden mit einem bestimmten Satz vordefinierter Berechtigungen und Rechte an Systemdateien und Diensten erstellt. Auf der anderen Seite gibt es Gruppen, um Dateien und Ordner zwischen Benutzern zu teilen. Wenn Benutzerkonten erstellt werden, können sie in der Regel alternative Gruppen zugewiesen werden. Es gibt jedoch Zeiten, in denen Sie einer bestimmten Gruppe möglicherweise keinen bestimmten Benutzer zuweisen möchten. Gleichzeitig müssen Sie möglicherweise Dateien/Ordner mit diesem bestimmten Benutzer freigeben. Hier kommen Access Control Lists (ACL) in das Bild. In diesem Tutorial erfahren wir in Ubuntu über Zugriffskontrolllisten.

Zugriffskontrolllisten (ACL)

Access Control Lists (ACL) ermöglichen es uns, die Zugriffskontrolle zu feinsten. Mit anderen Worten, der Benutzer Sara benötigt Zugriff auf einen einzelnen Ordner von Kalyani. Technisch gesehen könnten wir Sara der Gruppe von Kalyani zuweisen, aber das würde bedeuten, dass Sara Zugang zu mehr als braucht, und annehmen, dass Kalyani sensible Dateien hat, von denen sie nicht möchte, dass Sara liest, schreibt oder ausführt. Hier kommen Zugriffskontrolllisten oder ACLs in das Bild. Theoretisch können wir uns mit Berechtigungen anlegen, aber ACLs ermöglichen es uns, verschiedenen Benutzern unterschiedliche Zugriffe zu gewähren und Zugriff zu gewähren, ohne die tatsächlichen Basisberechtigungen der Datei oder des Ordners anlegen zu müssen.

Anzeigen der aktuellen Berechtigungen

Wir verwenden den Befehl GETFACL (GET -Dateizugriffsliste), um die aktuellen ACL -Berechtigungen anzuzeigen.

getfacl Aktenordner

Nehmen wir an, dass ich einen Ordner namens Secret mit zwei Unterverzeichnissen und 5 Dateien erstelle. Nehmen wir weiter an, dass ich die ACL -Berechtigungen im geheimen Ordner anzeigen möchte.

GetFacl Secret

Dies bedeutet, dass der Eigentümer der Dateien und des Ordners Kalyani, die der Gruppe Kalyani gehört, Berechtigungen gelesen, schreiben und ausführt. Alle anderen haben jedoch überhaupt keine Erlaubnis.

Zugewiesene Benutzerfeiner-Einstellungen zuweisen

Die Feinabstimmung der Berechtigungen mit ACL wird mit dem Befehl setfaCl durchgeführt. Insbesondere der -M -Schalter wird verwendet, um Berechtigungen zu ändern.

setfacl -m u: Benutzername: Berechtigungen Dateiname

Das U bezeichnet, dass die Änderung für einen Benutzer und keine Gruppe ist. Nach dem Dickdarm würde man den Benutzernamen schreiben, für den die Erlaubnis erteilt wird, sowie die Erlaubnis erteilt wurde. Die Berechtigungen entsprechen den für CHMOD erhältlich: Lesen, Schreiben und Ausführen. Zuletzt schreiben wir den Dateinamen, für den die Genehmigung angewendet wird.

Nehmen wir beispielsweise an, dass ich ihrem geheimen Ordner Sara ihren vollen Zugriff auf diesen geheimen Ordner gewähren möchte, dann würde ich schreiben:

setfacl -m u: sara: rwx Secret

Wenn wir uns jetzt als Sara anmelden, hätten wir den Zugriff auf den Ordner „Geheimnis“ gelesen, schreiben und ausführen. Nun, wohlgemerkt, ich habe eine 770 -Erlaubnis für das erste Verzeichnis gesetzt. Diese Genehmigung wurde aufbewahrt, aber eine Ausnahme von der Regel wurde mit Zugriffskontrolllisten hinzugefügt. Wenn ich einen weiteren Ordner namens „Kali“ mit Erlaubnis 770 von Kalyani hätte, könnte die Benutzer Sara es nicht berühren. Tatsächlich würde es "Erlaubnis abgelehnt" sagen, dass.

Darüber hinaus ist ein Punkt zu beachten, dass sobald die Datei als ACL geändert wird, ein Pluszeichen daneben ist, wenn Sie sie auflisten. In diesem Fall heißt es, wie Sie sehen können. Das Pluszeichen impliziert, dass es mit ACLs modifiziert wurde.

Sobald Sie ACLs eingestellt haben, wird auch eine Maske erstellt. Die Maske ist die maximale Berechtigung, die ein ACL -Benutzer oder eine Gruppe möglicherweise in einem Verzeichnis oder einer Datei haben kann.

Zuweisen von Gruppen fein abgestimmte Berechtigungen

Ähnlich wie bei der Zuweisung von Benutzern können wir auch Gruppen besondere Erlaubnis zuweisen. Dies bedeutet, dass wir unsere Grundberechtigungen so halten können und einer bestimmten Gruppe zusätzliche Berechtigung mit ACL zuweisen können.

setfacl -m g: gruppe_name: Berechtigungen Dateiname

Ex:

setfacl -m G: John: R Secret

In diesem Fall geben wir der Gruppe John Read dem geheimen Ordner die Erlaubnis. Dies bedeutet, dass alle Mitglieder der Gruppe John die Erlaubnis in den geheimen Ordner und nur im geheimen Ordner haben werden. Alles andere wird unter Schloss und Schlüssel sein.

Rekursive Zuordnung

Der geheime Ordner wurde mit 3 Dateien direkt darin entworfen, und 2 Unterdirektorien mit jeweils eine einzelne Datei darin.

Als wir die Berechtigungen für die Benutzer Sara und Group John zugewiesen haben, haben wir es nicht rekursiv gemacht. Überprüfen Sie also die ACL-Berechtigungen der Unterdirektorien derzeit (nachdem wir dem geheimen Verzeichnis die Berechtigungen zugewiesen haben).

Wie Sie sehen können, galten die ACL-Berechtigungen nur für das geheime Verzeichnis und nicht für die Unterverzeichnisse. Dies bedeutet, dass die Benutzer Sara und die Gruppe John nicht über die angegebenen Berechtigungen für die Unterverzeichnisse verfügen! In diesem Fall müssen wir eine rekursive Zuordnung erfüllen, wenn wir dem gesamten Verzeichnis (einschließlich der Unterverzeichnisse) Berechtigungen erteilen wollen (einschließlich der Unterverzeichnisse). Wir verwenden den -R -Schalter, um dies zu tun.

setfacl -r -m u: Benutzername: Berechtigungen Dateiname

Ex:

setfacl -r -m u: sara: rwx Secret

Löschen von fein abgestimmten Berechtigungen

Möglicherweise möchten Sie auch die erteilten Berechtigungen widerrufen, und das ist genauso einfach, sie zu geben. Sie verwenden den -xschalter anstelle des -M -Schalters, um die Berechtigungen zu widerrufen.

Um einen bestimmten Eintrag zu entfernen:

setfacl -x u: Benutzername Dateiname
setfacl -x g: gruppe_name Dateiname

In diesem Fall hätte ich geschrieben:

setfacl -x u: Sara Secret
setfacl -x g: John Secret

So entfernen Sie alle Einträge in einer Aufnahme:

setfacl -b Dateiname

Zum Beispiel:

setfacl -b Secret

Dies beseitigt jedoch nicht die Rechte an den Unterverzeichnissen. Um die Rechte aus den Unterverzeichnissen zu entfernen, müssen Sie eine Rekursion verwenden.

setfacl -r -b Secret

Zusammenfassung

Alles, was wir gelernt haben, läuft darauf hinaus:

ACL -Berechtigungen anzeigen:

GetFacl -Dateiname

ACL -Berechtigungen festlegen:

setfacl Dateinamen

Optionen:
-m, -modify modifizieren Sie die ACL
-X, -Remove entfernen Sie den ACL -Eintrag
-B, -Remove -alle entfernen Sie alle ACL -Einträge
-R rekursive Zuordnung

Eintrag:
U: Benutzername: Berechtigungen für Benutzer
G: Group_Name: Berechtigungen für Gruppen

Obwohl Chmod existiert, um Berechtigungen für Dateien und Ordner zu erteilen, ist es nicht selektiv. Es kann verschiedenen Benutzern keine unterschiedlichen Berechtigungen gewähren. Darüber hinaus gibt es Zeiten, in denen man auch keine zufälligen Personen zu Gruppen hinzufügen möchte. ACL- oder Zugriffskontrolllisten wurden nur für diese Art von Anlass erfunden. Es kann bestimmte Benutzer oder Gruppen auf bestimmte Dateien und/oder Ordner zugreifen. In diesem Tutorial haben wir gelernt, Nutzern und Gruppen besondere Berechtigungen zu geben, rekursiv Berechtigungen zuzuweisen und die genannten Berechtigungen zu widerrufen. Gehen Sie also weiter und feinstimmen Sie Berechtigungen für Dateien und Ordner von hier auf Forth!

Glückliche Codierung!