Hinweis:
- Dieses Tutorial ist in einer von Oracle bereitgestellten kostenlosen Übungsumgebung verfügbar.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte durch die für Ihre Cloud-Umgebung spezifischen Werte.
ACLs auf Oracle Linux verwenden und aktivieren
Einführung
Access Control-Listen (ACLs) bieten Zugriffskontrolle für Verzeichnisse und Dateien. ACLs können Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer, die Gruppe und alle anderen Systembenutzer festlegen.
Eine ACL besteht aus einer Gruppe von Regeln, die angeben, wie ein bestimmter Benutzer oder eine bestimmte Gruppe auf Dateien und Verzeichnisse zugreifen kann, für die ACL aktiviert ist. Ein regulärer ACL-Eintrag gibt Zugriffsinformationen für eine einzelne Datei oder ein einzelnes Verzeichnis an. Ein Standard-ACL-Eintrag wird nur auf Verzeichnissen festgelegt und gibt die Standardzugriffsinformationen für jede Datei innerhalb des Verzeichnisses an, die über keine Zugriffs-ACL verfügt.
Wenn Sie eine Standard-ACL in einem Verzeichnis festlegen, erben die zugehörigen Unterverzeichnisse automatisch dieselben Rechte. ACLs können mit den Dateisystemen btrfs
, ext3
, ext4
, OCFS2
und XFS
sowie gemounteten NFS-Dateisystemen verwendet werden.
Ziele
- ACL-Unterstützung für Dateisystem prüfen
- Verwenden Sie die Befehle
setfacl
undgetfacl
, um ACL-Regeln hinzuzufügen und anzuzeigen
Anforderungen
Ein System mit einer verfügbaren Festplatte und einer vollständig gepatchten Installation von Oracle Linux.
Laborumgebung einrichten
Hinweis: Wenn Sie die kostenlose Übungsumgebung verwenden, finden Sie unter Oracle Linux Lab - Grundlagen Informationen zu Verbindungen und anderen Nutzungsanweisungen.
-
Wenn noch nicht geschehen, öffnen Sie ein Terminal, und stellen Sie eine Verbindung über SSH zur ol-node01-Instanz her.
ssh oracle@<ip_address_of_instance>
-
Prüfen Sie, ob die Block-Volumes vorhanden sind.
sudo lsblk -f
Die Ausgabe für die freie Übungsumgebung zeigt zwei Block-Devices an:
sda
, das Basis-BS enthält, undsdb
, die in dieser Übung verwendet wird. Mit der Option-f
werden der Dateisystemtyp (FSTYPE) und die Universally Unique Identifier (UUID) der Blöcke angezeigt.
Dateisystem mit ACL-Unterstützung mounten
-
Erstellen Sie ein Mount Point-Verzeichnis.
sudo mkdir /test
-
Prüfen Sie, ob die ACL-Unterstützung vorhanden ist.
Oracle Linux-Dateisysteme wie
ext4
,btrfs
undxfs
aktivieren die acl-Mountoption als Standard. Prüfen Sie dies in einemext4
-Dateisystem wie/dev/sdb1
mittune2fs
.sudo tune2fs -l /dev/sdb1 | grep -i acl
Beispielausgabe:
[oracle@ol-node01 ~]$ sudo tune2fs -l /dev/sdb1 | grep -i acl Default mount options: user_xattr acl
-
Hängen Sie den Datenträger mit ACL-Unterstützung ein.
Wenn für das Dateisystem die Einhängeoption acl nicht standardmäßig aktiviert ist, übergeben Sie
-o acl
, wenn Sie den Befehlmount
verwenden. Da/dev/sdb1
ext4
verwendet, ist diese Option bereits standardmäßig aktiviert.sudo mount -t ext4 /dev/sdb1 /test
Damit dieser Einhängepunkt auch nach einem Neustart beibehalten wird, fügen Sie ihn der fstab-Datei hinzu.
MYUUID=$(sudo blkid | grep UUID= | grep sdb1 | awk '{ print $2 }') echo "$MYUUID /test ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
-
Stellen Sie sicher, dass der Dateisystem-Mount vorhanden ist.
df -T | grep sdb1
Die Ausgabe zeigt, dass das ext4-Dateisystem
/dev/sdb1
am Mount Point/test
vorhanden ist.
ACL-Funktionalität verwenden
-
Versuchen Sie, eine Datei unter dem neuen Einhängepunkt zu erstellen.
touch /test/file1
Beispielausgabe:
touch: cannot touch '/test/file1': Permission denied
Der Befehl ist nicht erfolgreich, weil der Benutzer
oracle
keine Berechtigung zum Erstellen von Dateien im Verzeichnis/test
hat. -
Rufen Sie die ACL-Informationen des Verzeichnisses ab.
sudo getfacl /test
Beispielausgabe:
[oracle@ol-node01 ~]$ sudo getfacl /test getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx group::r-x other::r-x
-
Fügen Sie dem Verzeichnis eine ACL-Regel hinzu.
sudo setfacl -m u:oracle:rwx /test
Die Regel erteilt dem Benutzer
oracle
die Berechtigungen read, write und execute. -
Prüfen Sie die aktualisierten ACL-Informationen des Verzeichnisses.
sudo getfacl /test
Beispielausgabe:
getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx user:oracle:rwx group::r-x mask::rwx other::r-x
Die Ausgabe zeigt die neu hinzugefügte Zeile
user:oracle:rwx
an. -
Zeigen Sie das lange Listenformat nur für das Verzeichnis an.
ls -ld /test
Beispielausgabe:
drwxrwxr-x+ 3 root root 4096 Jul 13 20:48 /test
Die in der Ausgabe angezeigten Berechtigungen umfassen ein Pluszeichen (
+
), das auf die Aufnahme einer ACL hinweist. -
Versuchen Sie erneut, die Datei zu erstellen.
touch /test/file1
Der Befehl sollte diesmal erfolgreich sein.
-
Bestätigen Sie die Erstellung der Datei.
ls -l /test
Weitere Optionen und Beispiele finden Sie auf den Seiten man getfacl
oder man setfacl
.
Weitere Informationen
Weitere zugehörige Ressourcen finden Sie unter:
Weitere Lernressourcen
Sehen Sie sich andere Übungen auf der Website docs.oracle.com/learn an, oder greifen Sie auf Inhalte zu, die Sie über den Oracle Learning-Kanal YouTube benötigen. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie unter Oracle Help Center.
Use and Enable ACLs on Oracle Linux
F60355-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.