Linux: Administratorpflichten mit Sudo delegieren

Im Beispiel-Listing ist zu sehen, wie Gruppen von Systemen, Anwendern und Befehlen mit Hilfe der Parameter Host_Alias, User_Alias und Cmnd_Alias geschaffen werden. Beginnen wir mit dem Eintrag Host_Alias: Solange die Datei /etc/sudoers von jedem Server aus zugänglich ist, können mehrere Hosts auf dieselbe Datei zugreifen. In unserem Beispiel erstellten wir drei Aliase für unsere Server und trugen pro Zeile einen ein. Die Servernamen ns1, ns2, mail1, mail2, mail3 und web1 sind die lokalen Hostnamen für jeden Rechner. Wenn ein Anwender in der Befehlszeile eines dieser Server den Befehl sudo ausführt, wird Sudo den lokalen Hostnamen überprüfen und auf der Grundlage dessen, was es vorfindet, Zugang gewähren. Dies macht Host-basierten Zugang möglich, was besonders hilfreich ist, da Befehle oft je nach Rolle des Servers variieren können.

Der Befehl User_Alias ermöglicht die Klassifizierung von Systemanwendern und/oder -Gruppen in eine einzige Variable. Diese Variable wird dann verwendet, um Privilege zu vergeben. In diesem Beispiel befinden sich zwei Aliase, NOC und CALLCENTER. NOC besteht aus zwei System-Accounts: steve und mike und aus einer Systemgruppe: noc. Beachten Sie das %-Zeichen, das Sudo anweist, das nachfolgende Wort als lokale Gruppe zu interpretieren. Bevor sie in der sudoers-Datei verwendet werden können, müssen diese Gruppen erstellt und Anwender hinzugefügt werden.

Der Parameter Cmnd_Alias wird auf Befehle angewandt. Wie man sieht, gibt es fünf Befehlsgruppen: READLOG, USERMOD, RESTART, MODIFY und ROOTMOD. Da verschiedene Gruppen unterschiedliche Zugangsarten benötigen, kann man die Befehle in leicht zu bearbeitende Blöcke unterteilen. Befehle werden wie folgt eingegeben:
/Pfad/Programm-Argument(e)

Wenn es ein „, \“ antrifft, schaltet Sudo auf die nächste Zeile weiter. Da nicht jede Gruppe jeden für Sudo verfügbaren Befehl benötigt, sind Befehls-Aliase diesbezüglich wertvoll.

Wie man in dem next-to-last Beispiel in unserer sudoers-Datei sehen kann, sollen einige Befehle für bestimmte Anwender und/oder Gruppen ausdrücklich nicht verfügbar sein. Seien Sie in diesem Abschnitt und dem Befehlsabschnitt, auf den er sich bezieht, so spezifisch wie möglich. Beachten Sie, dass sich aufgrund der verschiedenen Switches, die ein Befehl verwenden kann, unter ROOTMOD zwei Einträge für den gleichen Befehl befinden. Basierend auf den Einstellungen des Anwenders wird in der Gruppe MODIFY Zugang zu den beiden Texteditoren pico und vi gewährt.

Es ist wichtig zu wissen, welche Fähigkeiten jedes Programm mitbringt. Der Dateibetrachter less zum Beispiel verfügt über eine Default-Option, mit der man Zugang zu einer Shell erhält. Ohne less zu rekompilieren, könnte ein Anwender mit Sudo leicht eine root-Shell erhalten. Es sind oftmals die kleinen Dinge, die später große Probleme verursachen, also überprüfen Sie Ihren endgültigen Entwurf mehrmals, bevor Sie ihn auf den Produktionssystemen implementieren.

Schauen wir uns jetzt die Syntax für die Zuteilung von Genehmigungen für Anwender an. Nach Einrichtung der Aliase können sie unter Verwendung des folgenden Formats angewandt werden:
User_Alias Host_Alias=Cmnd_Alias

Multiple Host-Aliase und Befehls-Aliase werden durch Kommata getrennt. Befehls-Aliase werden mit einem vorherstehenden „!“ abgelehnt, so wie es im Beispiel von ROOTMOD in unserer Muster sudoers-Datei zu sehen ist. Dies ist eine Absicherung für den Fall, dass ein Anwender oder Administrator etwas tut, was er nicht sollte. In so einem Fall hat ein NOC-Mitglied die Genehmigung, lokale Anwender zuzufügen oder zu löschen, kann aber keine Veränderungen am root-Account durchführen. Wie dieses Beispiel illustriert, unterscheidet Sudo nicht automatisch zwischen gutem und schlechtem Benehmen. Diese Entscheidung verbleibt beim Administrator, der die Genehmigungen zu vergeben hat.

 

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Linux: Administratorpflichten mit Sudo delegieren

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *