GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Centos – Wie werden ACL-Berechtigungen verarbeitet und in welcher Reihenfolge gelten sie für eine bestimmte Benutzeraktion?

CentOS 6.4

Ich versuche besser zu verstehen, wie Dateisystem-ACL-Regeln verarbeitet werden und in welcher Reihenfolge ACL-Regeln gelten.

Nehmen wir zum Beispiel an, die Benutzer Bob und Joe gehören zu einer Gruppe namens sales. Nehmen wir auch an, ich habe ein Verkaufsdokument mit den folgenden Details:

[[email protected] ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---

Meine Frage ist, wie werden Berechtigungen in einem Beispiel wie diesem verarbeitet und welche Zugriffsrechte haben Vorrang?

Gibt es nur eine Top-Down-Suche und gilt die Regel, die zuerst zutrifft?

Oder erzwingt Linux den Zugriff basierend auf der spezifischsten Regel für den betreffenden Benutzer? Oder hat vielleicht die restriktivste und anwendbarste Regel Vorrang?

Akzeptierte Antwort:

Das ist ein ziemlich breites Thema und ein bisschen zu viel, um es hier zu behandeln. Ich verweise Sie auf das Whitepaper POSIX Access Control Lists on Linux, das von Andreas Grünbacher von den SuSE Labs zusammengestellt wurde. Es deckt das Thema ziemlich gut ab und schlüsselt es auf, damit Sie verstehen, wie ACLs funktionieren.

Dein Beispiel

Sehen wir uns nun Ihr Beispiel an und schlüsseln es auf.

  • Gruppe (Umsatz)
  • Mitglieder der Verkaufsgruppe (Bob, Joe)

Lassen Sie uns nun die Berechtigungen für die Datei /home/foo/docs/foo.txt aufschlüsseln . ACLs kapseln auch die gleichen Berechtigungen, mit denen die meisten Leute unter Unix vertraut sein sollten, hauptsächlich die Bits User, Group und Other. Ziehen wir diese also zuerst heraus.

user:: r--
group::r--
other::---

Diese würden normalerweise in einem ls -l so aussehen :

$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt

Mit diesen ACL-Zeilen können Sie sehen, wem die Datei gehört und welcher Gruppe sie angehört:

# owner: jane
# group: executives

Jetzt kommen wir also zum Kern der ACLs:

user:bob:rw-
user:joe:rwx
group:sales:rwx

Dies zeigt diesen Benutzer bob hat rw , während Benutzer joe hat rwx . Es gibt auch eine Gruppe, die auch rwx hat ähnlich wie Joe. Diese Berechtigungen sind wie die Benutzerspalte in unserem ls -l Output hatte 3 Eigentümer (Jane, Bob und Joe) sowie 2 Gruppen (Führungskräfte und Vertrieb). Es gibt keinen Unterschied, außer dass es sich um ACLs handelt.

Zuletzt die mask Zeile:

mask::rwx

In diesem Fall maskieren wir nichts, es ist weit offen. Wenn also die Benutzer bob und joe diese Zeilen haben:

user:bob:rw-
user:joe:rwx

Dann sind das ihre effektiven Berechtigungen. Wenn die Maske so wäre:

mask::r-x

Dann würden ihre effektiven Berechtigungen wie folgt aussehen:

user:bob:rw-    # effective:r--
user:joe:rwx    # effective:r-x

Dies ist ein leistungsfähiger Mechanismus zum Einschränken von Berechtigungen, die pauschal gewährt werden.

Siehe auch:Debian – Wie kann man den gesamten Webseiteninhalt kräuseln?

HINWEIS: Der Dateieigentümer und andere Berechtigungen werden von der effektiven Rechtemaske nicht beeinflusst; alle anderen Einträge sind! In Bezug auf die Maske sind die ACL-Berechtigungen also Bürger zweiter Klasse im Vergleich zu den traditionellen Unix-Berechtigungen.

Referenzen

  • getfacl(1) – Linux-Manpage
  • Whitepaper zu POSIX-Zugriffskontrolllisten unter Linux

Cent OS
  1. So finden Sie heraus, wer auf Ihrem System angemeldet ist und was er tut

  2. So erstellen und löschen Sie Benutzergruppen in Linux

  3. So erstellen Sie einen Sudo-Benutzer unter Rocky Linux und CentOS

  4. Vorrang von Benutzer- und Gruppeneigentümern bei Dateiberechtigungen?

  5. CentOS / RHEL :Anacron-Grundlagen (Was ist Anacron und wie wird es konfiguriert)

Was ist Umask und wie wird es verwendet?

So fügen Sie einen Benutzer zu einer Gruppe auf RHEL 8 / CentOS 8 hinzu

So fügen Sie Benutzer unter CentOS 8 hinzu und löschen sie

So fügen Sie Benutzer unter CentOS 7 hinzu und löschen sie

So aktivieren Sie das Benutzer- und Gruppenfestplattenkontingent unter CentOS 7 / RHEL 7

So fügen Sie Benutzer in CentOS 8 hinzu und entfernen sie