Feb 02

Auf einem *NIX-Rechner, aber auch unter jedem anderen Betriebssystem, sollte man nicht als Superuser (root bzw. Administrator), sondern als normaler Benutzer mit eingeschränkten Rechten arbeiten.  Änderungen von Konfigurationen müssen aber i.d.R. mit Superuser-Rechten durchgeführt werden – hierfür gibt es den Befehl “sudo”.

“sudo” installieren

Auf *NIX-Rechnern kann man sich entweder mit dem Kommando “su” als Superuser anmelden, oder man verwendet “sudo”. Unter Debian müssen wir hierfür zuerst “sudo” installieren. Dazu melden wir uns als normaler Benutzer an und wechseln anschließend mit “su” zum Superuser. Unter Debian steht nur diese Möglichkeit der Authentifierung als Superuser zur Verfügung, denn die Anmeldung als “root” ist unter Debian standardmäßig unterbunden. Als Superuser führen wir den Befehl “aptitude install sudo” aus.

“sudo” konfigurieren

Damit unser Benutzer mit eingeschränkten Rechten “sudo” verwenden darf, müssen wir ihn der “sudoers”-Liste hinzufügen. Hierfür muss man diese als Superuser mit dem Befehl “visudo” editieren. “visudo” stellt sicher, dass nur eine Person gleichzeit die “sudoers”-Datei editieren kann und die Syntax beim Speichern korrekt ist. Welche Tastenkürzel in “visudo” verwendet werden können, steht am unteren Bildschirmrand. Unter der Zeile “root    ALL=(ALL) ALL” fügen wir unseren Benutzer (in diesem Beispiel lautet der Benutzername “user”) ein. Die Datei sieht nun wie folgt aus:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL
user    ALL=(ALL) ALL

Diese muss nun mit “Ctrl” + “O” (“Ctrl” entspricht “Strg”) gespeichert und anschließend der Speicherort mit der Enter-Taste bestätigt werden. Abschließend “visudo” mit “Ctrl” + “X” und den Superuser-Modus mit “exit” verlassen.

Erweiterte “sudo”-Konfiguration

Wenn es mehrere sudoers geben soll, die alle auf das komplette System oder nur einen Teil davon zugreifen können sollen, fügt man anstelle des Benutzers nur eine Zeile für die Gruppe ein. Die Datei würde dann (ähnlich wie unter Ubuntu) wie folgt aussehen:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        !lecture,tty_tickets,!fqdn

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL
%sudo   ALL=(ALL) ALL

Nun müssen die entsprechenden Benutzer noch der Gruppe “sudo” hinzugefügt werden. Hierfür muss man die Datei “/etc/group” editieren, und nach dem letzten Doppelpunkt in der Zeile der Gruppe “sudo” die gewünschten Benutzer mit Beistrichen (Komma) getrennt auflisten (vor dem letzten Doppelpunkt darf nichts verändert werden!):

[...]
sudo:x:xx:user1,user2,user3
[...]

Selbstverständlich ist es auch möglich “sudo” einzuschränken und den Zugriff nur auf bestimmte Dateien  zu erlauben, etwa wenn unterschiedliche Benutzer für unterschiedliche Aufgaben zuständig sind. Benutzer A beispielsweise für die Benutzerverwaltung, Benutzer B für die Netzwerkeinstellungen, etc.

Viele weitere Konfigurationseinstellungen findet man außerdem in den man pages.

“sudo” verwenden

Zurück in der Konsole als Benutzer mit eingeschränkten Rechten, können wir Konfigurationen als Superuser mit “sudo” vornehmen. Hierfür wird dem Befehl, den wir normalerweise nur als Superuser ausführen können, einfach “sudo” vorangestellt. Um etwa die Netzwerk-Verbindungen anzupassen:

$ sudo nano /etc/network/interfaces

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:

Anstelle von “nano” kann selbstverständlich jeder andere Editor verwendet werden. Als Passwort muss in der Standardkonfiguration jenes des Benutzers, mit dem wir angemeldet sind, eingegeben werden, nicht das des Superusers.



Verwandte Beiträge

Kommentar schreiben