Im letzten Artikel (RHCSA-Serie Teil 6) begannen wir zu erklären, wie man den lokalen Systemspeicher mit. einrichtet und konfiguriert getrennt und ssm.
Wir haben auch besprochen, wie Sie während des Systemstarts verschlüsselte Volumes mit einem Kennwort erstellen und mounten. Darüber hinaus warnen wir Sie davor, kritische Speicherverwaltungsvorgänge auf gemounteten Dateisystemen durchzuführen. Vor diesem Hintergrund werden wir jetzt die am häufigsten verwendeten Dateisystemformate in Red Hat Enterprise Linux 7 und fahren Sie dann mit den Themen Montage, Verwendung und. fort Aushängen sowohl manuell als auch automatisch Netzwerkdateisysteme (CIFS und NFS) sowie die Implementierung von Zugriffskontrolllisten für Ihr System.
Bevor Sie fortfahren, vergewissern Sie sich bitte, dass Sie ein Samba Server und a NFS Server verfügbar (beachten Sie, dass NFSv2 wird nicht mehr unterstützt in RHEL 7).
Während dieser Anleitung verwenden wir eine Maschine mit
IP 192.168.0.10 mit beiden Diensten, die darin als Server ausgeführt werden, und a RHEL 7 Box als Client mit IP-Adresse 192.168.0.18. Später im Artikel werden wir Ihnen sagen, welche Pakete Sie auf dem Client installieren müssen.Mit... anfangen RHEL 7, XFS wurde aufgrund seiner hohen Performance und Skalierbarkeit als Standarddateisystem für alle Architekturen eingeführt. Es unterstützt derzeit eine maximale Dateisystemgröße von 500 TB gemäß den neuesten Tests von Red Hat und seinen Partnern für Mainstream-Hardware.
Ebenfalls, XFS ermöglicht user_xattr (erweiterte Benutzerattribute) und acl (POSIX-Zugriffskontrolllisten) als Standard-Mount-Optionen, im Gegensatz zu ext3 oder ext4 (ext2 gilt als veraltet als von RHEL 7), was bedeutet, dass Sie diese Optionen weder in der Befehlszeile noch explizit angeben müssen In /etc/fstab beim Mounten eines XFS-Dateisystems (wenn Sie solche Optionen im letzten Fall deaktivieren möchten, müssen Sie explizit verwenden no_acl und no_user_xattr).
Beachten Sie, dass die erweiterten Benutzerattribute Dateien und Verzeichnissen zugewiesen werden können, um beliebige Zusatzinformationen wie z Mime-Typ, Zeichensatz oder Kodierung einer Datei, wobei die Zugriffsberechtigungen für Benutzerattribute durch die reguläre Dateiberechtigung definiert werden Bits.
Da jeder Systemadministrator, egal ob Anfänger oder Experte, mit regelmäßigen Zugriffsberechtigungen auf Dateien und Verzeichnisse vertraut ist, die bestimmte Privilegien vorgeben (lesen, schreiben, und ausführen) für den Eigentümer, die Gruppe und „die Welt“ (alle anderen). Beziehen Sie sich jedoch gerne auf Teil 3 der RHCSA-Serie wenn Sie Ihr Gedächtnis ein wenig auffrischen müssen.
Da jedoch der Standard ugo/rwx set erlaubt es nicht, unterschiedliche Berechtigungen für verschiedene Benutzer zu konfigurieren, ACLs wurden eingeführt, um detailliertere Zugriffsrechte für Dateien und Verzeichnisse zu definieren, als durch reguläre Berechtigungen vorgegeben.
Eigentlich, ACL-definiert Berechtigungen sind eine Obermenge der Berechtigungen, die durch die Dateiberechtigungsbits angegeben werden. Lassen Sie uns sehen, wie all dies in der realen Welt angewendet wird.
1. Es gibt zwei Arten von ACLs: Zugriff auf ACLs, die entweder auf eine bestimmte Datei oder ein Verzeichnis angewendet werden kann) und Standard-ACLs, die nur auf ein Verzeichnis angewendet werden kann. Wenn darin enthaltene Dateien keinen ACL-Satz haben, erben sie die Standard-ACL ihres übergeordneten Verzeichnisses.
2. Zu Beginn können ACLs pro Benutzer, pro Gruppe oder pro Benutzer konfiguriert werden, der nicht zur Eignergruppe einer Datei gehört.
3.ACLs werden gesetzt (und entfernt) mit setfacl, entweder mit dem -m oder -x Optionen bzw.
Lassen Sie uns zum Beispiel eine Gruppe namens. erstellen tekmint und Benutzer hinzufügen John Doe und davenul dazu:
# groupadd tecmint. # useradd Johndoe. # useradd davenull. # usermod -a -G tecmint johndoe. # usermod -a -G tecmint davenull.
Und lassen Sie uns überprüfen, ob beide Benutzer zu einer zusätzlichen Gruppe gehören tekmint:
# id Johndoe. # id davenull.
Erstellen wir nun ein Verzeichnis namens Spielplatz innerhalb von /mnt, und eine Datei namens testdatei.txt Innerhalb. Wir setzen den Gruppenbesitzer auf tekmint und ändern Sie die Standardeinstellung ugo/rwx Berechtigungen für 770 (Lese-, Schreib- und Ausführungsberechtigungen, die sowohl dem Besitzer als auch dem Gruppenbesitzer der Datei gewährt wurden):
# mkdir /mnt/spielplatz. # Berühren Sie /mnt/playground/testfile.txt. # chmod 770 /mnt/playground/testfile.txt.
Wechseln Sie dann zum Benutzer zu John Doe und davenul, in dieser Reihenfolge, und schreiben Sie in die Datei:
echo "Mein Name ist John Doe" > /mnt/playground/testfile.txt. echo "Mein Name ist Dave Null" >> /mnt/playground/testfile.txt.
So weit, ist es gut. Jetzt haben wir Benutzer gacanepa in die Datei schreiben – und der Schreibvorgang schlägt fehl, was zu erwarten war.
Aber was ist, wenn wir tatsächlich Benutzer brauchen? gacanepa (wer ist kein Mitglied der Gruppe tekmint) um Schreibrechte zu haben auf /mnt/playground/testfile.txt? Das erste, was Ihnen in den Sinn kommt, ist das Hinzufügen dieses Benutzerkontos zur Gruppe tekmint. Aber das gibt ihm Schreibrechte auf ALLE Dateien, in denen das Schreibbit für die Gruppe gesetzt ist, und das wollen wir nicht. Wir wollen nur, dass er schreiben kann /mnt/playground/testfile.txt.
# Berühren Sie /mnt/playground/testfile.txt. # chown :tecmint /mnt/playground/testfile.txt. # chmod 777 /mnt/playground/testfile.txt. # su Johndoe. $ echo "Mein Name ist John Doe" > /mnt/playground/testfile.txt. $ su davenull. $ echo "Mein Name ist Dave Null" >> /mnt/playground/testfile.txt. $ su gacanepa. $ echo "Mein Name ist Gabriel Canepa" >> /mnt/playground/testfile.txt.
Geben wir dem Benutzer gacanepa Lese- und Schreibzugriff auf /mnt/playground/testfile.txt.
Als Root ausführen,
# setfacl -R -m u: gacanepa: rwx /mnt/playground.
und Sie haben erfolgreich ein. hinzugefügt ACL das erlaubt gacanepa in die Testdatei schreiben. Wechseln Sie dann zu Benutzer gacanepa und versuchen Sie erneut, in die Datei zu schreiben:
$ echo "Mein Name ist Gabriel Canepa" >> /mnt/playground/testfile.txt.
Um die anzuzeigen ACLs für eine bestimmte Datei oder ein bestimmtes Verzeichnis verwenden Sie getfacl:
# getfacl /mnt/playground/testfile.txt.
a. einstellen Standard-ACL zu einem Verzeichnis (das dessen Inhalt erbt, sofern nicht anders überschrieben), füge D: vor der Regel und geben Sie ein Verzeichnis anstelle eines Dateinamens an:
# setfacl -m d: o:r /mnt/playground.
Die obige ACL ermöglicht Benutzern, die nicht zur Eigentümergruppe gehören, Lesezugriff auf die zukünftigen Inhalte der /mnt/playground Verzeichnis. Beachten Sie den Unterschied in der Ausgabe von getfacl /mnt/playground vor und nach der Änderung:
Kapitel 20 im offiziellen RHEL 7 Storage Administration Guide bietet weitere ACL-Beispiele, und ich empfehle Ihnen dringend, sie sich anzusehen und als Referenz zur Hand zu haben.