Hinweis:

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

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.

  1. 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>
    
  2. 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, und sdb, 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

  1. Erstellen Sie ein Mount Point-Verzeichnis.

    sudo mkdir /test
    
  2. Prüfen Sie, ob die ACL-Unterstützung vorhanden ist.

    Oracle Linux-Dateisysteme wie ext4, btrfs und xfs aktivieren die acl-Mountoption als Standard. Prüfen Sie dies in einem ext4-Dateisystem wie /dev/sdb1 mit tune2fs.

    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
    
  3. 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 Befehl mount 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
    
  4. 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

  1. 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.

  2. 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
    
  3. 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.

  4. 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.

  5. 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.

  6. Versuchen Sie erneut, die Datei zu erstellen.

    touch /test/file1
    

    Der Befehl sollte diesmal erfolgreich sein.

  7. 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.