Systemadministration

So verwalten Sie ACLs unter Linux

So verwalten Sie ACLs unter Linux

Zielsetzung

Einführung in die Verwaltung von ACLS (Access Control List) unter Linux

Betriebssystem- und Softwareversionen

Anforderungen

Schwierigkeit

MITTEL

Konventionen

Einführung

In diesem Tutorial werden wir sehen, was ACLs sind und wie die grundlegende Manipulation dieser Art von Berechtigungen auf einer Linux -Plattform durchgeführt werden kann. Die folgenden Anweisungen funktionieren auf jeder Linux -Verteilung. Ich gehe davon aus.

Also, was sind ACLs? ?

ACLs sind eine zweite Ebene der diskretionären Berechtigungen, die die Standard -UGO/RWX -. Wenn sie korrekt verwendet werden, können sie Ihnen eine bessere Granularität beim Festlegen des Zugriffs auf eine Datei oder ein Verzeichnis ermöglichen, indem sie einen bestimmten Benutzer, der weder der Dateibesitzer noch im Gruppeneigentümer ist, Zugriff gewährt oder verweigert.



Einstieg

Das erste, was Sie tun müssen, wenn Sie ACLS nutzen möchten, ist sicherzustellen. Um das letztere zu überprüfen. Wie Sie ausführen können (Ausgabe abgeschnitten):

# Tune2FS -l /dev /sda3 

Gibt das folgende Ergebnis in meinem System an und zeigt, dass das Dateisystem on /dev /sda3 unter den Standard -Mount -Optionen auch 'ACL' hat.

Wenn Ihr Dateisystem nicht mit der Option "ACL" montiert wurde, können Sie die benötigte Option neu montieren:

# Mount -o remount -o acl /dev /sda1 

Beachten Sie jedoch, dass die auf diese Weise festgelegten Mount -Optionen nicht dauerhaft sein werden und keinen Neustart überleben werden. Wenn Sie Ausdauer erhalten möchten, müssen Sie die Optionen des Dateisystems in /etc /fstab ändern, wobei Sie die Option "ACL" statisch zuweisen.

Eine andere Sache, die wir brauchen, ist, die zu installieren ACL Paket. Dieses Paket enthält verschiedene ACLS -Dienstprogramme wie die getfacl Und setfacl Programme.

Ein Testfall

Mal sehen, was ACLs für uns tun können. Zuerst erstellen wir eine Datei namens Text.CFG und wir werden es als Argument für die geben getfacl Befehl. Mal sehen, was die Ausgabe dieses Befehls zeigt:

 $ Touch Text.CFG && getfacl Text.CFG 

Wie Sie sehen können, zeigt der Befehl nur die Standardberechtigungswerte sowie den Dateibesitzer und den Gruppenbesitzer an, da wir die Standardberechtigungswerte nur in der Datei eingestellt haben. Stellen wir uns nun vor, wir möchten einem bestimmten Benutzer angeben (ich werde diesen Benutzer absichtlich erstellen und ihn anrufen Dummy ), ein bestimmter Satz von Berechtigungen in der Datei. Wir müssen nur rennen:

$ setfacl -m u: dummy: rw text.CFG 

Lassen Sie uns den Befehl analysieren: Zuerst haben wir natürlich den Namen des Programms setfacl, Das ist ziemlich selbsterklärend, dann haben wir das bestanden -M Option (kurz für --ändern) Dadurch können wir die ACLs einer Datei und dann die Berechtigungsbeschreibungen ändern U: Dummy: RW.

Wir haben drei 'Abschnitte' geteilt durch Kolons: In der ersten, die, die u steht für den Benutzer und gibt an, dass wir die ACLs für einen bestimmten Benutzer festlegen möchten. Es hätte ein sein können G für Gruppe oder ein Ö für Andere. Im zweiten Abschnitt haben wir den Namen des Benutzer.

Schließlich der Name der Datei, auf die wir die Berechtigungen anwenden möchten.

Wenn wir jetzt versuchen, den Befehl 'getfacl' auszuführen, können wir sehen, dass seine Ausgabe die von uns vorgenommenen Änderungen widerspiegelt:

$ getfacl text.CFG 



Für die wurde ein Eintrag hinzugefügt Dummy Benutzer, der die Berechtigungen zeigt, die wir ihm zugewiesen haben. Ansonsten, wenn Sie es bemerken, auch einen Eintrag für Maske ist aufgetaucht. Für was steht das ? Die mit einer ACL verbundene Maske begrenzt die Berechtigungsmenge, die in der Datei für die genannten Gruppen und Benutzer und für den Gruppenbesitzer zugewiesen werden kann, hat jedoch keine Auswirkungen auf die Berechtigungen für den Dateiinhaber und die andere Erlaubnisgruppe.

In diesem Fall konnten nur Lesen und Schreiben von Berechtigungen mit dem Befehl setfaCl zugewiesen werden. Natürlich können wir diese Option ändern, indem wir verwenden setfacl Programm selbst:

$ setfacl -m Maske: r Text.CFG 

Mit dem obigen Befehl haben wir die Maske festgelegt, um nur Leseberechtigungen zu ermöglichen. Lassen Sie uns die Ausgabe von überprüfen getfacl Jetzt:

$ getfacl text.CFG 


Wie Sie sehen können, werden nicht nur die Änderungen, die wir an der Maske vorgenommen haben Dummy werden gezeigt. Obwohl der Gruppenbesitzer und der Dummy Benutzer haben Lesen und Schreiben von Berechtigungen in der Datei, indem wir die Maske ändern. Wir haben ihre Berechtigungen effektiv eingeschränkt, um nur zu lesen. Wie die Ausgabe des Befehls zeigt, dürfen sie jetzt nur die Datei lesen.

Abgesehen von explizit geändert mit dem obigen Befehl, wird die ACLS -Maske auch automatisch neu berechnet, wenn wir Berechtigungen mit setfaCl zuweisen oder ändern (es sei denn, die Option -n ist angegeben). Zeigen wir:: Wir werden die Berechtigungen des Dummy Benutzer zu rwx Und dann überprüfen Sie die GetFacl -Ausgabe:

$ setfacl -m U: Dummy: RWX -Text.CFG && getfacl Text.CFG 


Wie Sie sehen können, wurde die Maske neu berechnet und spiegelt nun die maximalen Berechtigungen wider, die für den benannten Benutzer vorhanden sind Dummy. Da jetzt keine zuvor festgelegten Berechtigungen höher als die Maske sind #Wirksam Erlaubnisstatus.

Sie können ACL auch verwenden, um den Zugriff auf eine Datei für einen bestimmten benannten Benutzer oder eine bestimmte Gruppe vollständig zu verweigern. Zum Beispiel durch Laufen:

$ setfacl -m u: Dummy: - Text.CFG 

Wir verweigern effektiv alle Privilegien an die Dummy Benutzer im Text.CFG -Datei.



Standard ACLs

Der Standard ACL ist eine bestimmte Art von Genehmigung, die einem Verzeichnis zugeordnet ist, die die Berechtigungen des Verzeichnisses selbst nicht ändert, aber es macht es so, dass die angegebenen ACLs standardmäßig auf allen in IT erstellten Dateien festgelegt werden. Lassen Sie es uns demonstrieren: Zuerst werden wir ein Verzeichnis erstellen und zuweisen Standard ACL dazu durch Verwendung der -D Möglichkeit:

$ mkdir test && setfacl -d -m u: Dummy: RW -Test 

Jetzt können wir die Ausgabe des GetFacl für dieses Verzeichnis untersuchen:

$ getfacl Test 


Der Standard Berechtigungen wurden korrekt zugewiesen. Jetzt können wir sie überprüfen, indem wir eine Datei im Testverzeichnis erstellen und ihre Berechtigungen überprüfen, indem Sie GETFACl ausführen:

$ Touch Test/Datei.CFG && getfacl test/Datei.CFG 


Wie erwartet wurde die Datei erstellt, die automatisch die oben angegebenen ACLS -Berechtigungen empfängt.

Wenn Sie alle ACLS -Set löschen möchten, können Sie die SetFaCl jederzeit mit dem ausführen -B Möglichkeit.

Dieses Tutorial deckt die Hauptaspekte von ACLs ab, und natürlich gibt es viel mehr zu wissen. Ich schlage daher vor, das Handbuch für ein tiefe Wissen zu lesen. Denken Sie jetzt daran, dass Sie nur ausführen müssen, wenn Sie alle ACLS -Berechtigungen entfernen möchten, die einer Datei zugewiesen sind setfacl mit dem -B (kurz für --alles entfernen) Möglichkeit.

Thecus NTOP 10TOP 10 Eingibt eine Redboot Boot Loader -Befehlsschnittstelle
Wenn Sie einen TheCus 2100 Nas -Speicher besitzen und sich von einem Softwareunfall wiederherstellen müssen, haben Sie zwei Optionen. Einer besteht da...
Installation von mkvtoolnix -Matroska -Tools unter Ubuntu Linux
Dieser kurze Artikel beschreibt einfache Schritte, um die Installation einer plattformübergreifenden Tools für Matroska mkvtoolnix auf Ubuntu-System z...
Sikuli -Installation auf Ubuntu Lucid Lynx Linux
Die Sikuli -Software hilft einem Benutzer, viele der Routine -GUI -Aufgaben zu automatisieren. IT CORE Es verwendet Java Runtime Environment 6 und Ope...