Benutzer-Werkzeuge

Webseiten-Werkzeuge


sudo

sudo

Zusammenfassung

Programme als anderer Benutzer ausführen
BeiBefehlZweck$HOME zeigt auf Verzeichnis von: Kann standardmäßig benutzt werden:
Terminalprogramm sudoführt einzelne Befehle als root aus„/eigenes HOME“von Gruppe admin
sudo -Hführt Befehl mit angepasstem $HOME aus (empfohlen)/root bzw.„/anderen Benutzer“von Gruppe admin
sudo -u Benutzerstartet Befehl als angegebenen BENUTZER„/eigenes HOME“von Gruppe admin
sudo -istartet interaktive shell/root bzw. „/anderen Benutzer“von Gruppe admin
suwechselt aktuellen Benutzer mit Passwort des Zielbenutzers/root bzw. „/anderen Benutzer“ bei Kenntnis des Passworts
grafisches Programmkdesudo und gksudoführt grafisches Programm als root aus/rootvon Gruppe admin
kdesudo -uführt grafisches Programm unter anderem Benutzer aus„/anderen Benutzer“von Gruppe admin
gksu -w -uwechselt aktuellen Benutzer mit Passwort des Zielbenutzers (Gnome/GTK)„/anderen Benutzer“bei Kenntnis des Passworts
/usr/[…]/kdesu -uwechselt aktuellen Benutzer mit Passwort des Zielbenutzers (KDE)„/anderen Benutzer“bei Kenntnis des Passworts

Konfiguration

sudo visudo

Ein Beispieleintrag für /etc/sudoers sieht so aus:

root           ALL = (ALL) ALL

Das heißt root darf alle Befehle mit sudo ausführen.

Die Gruppe administrator darf alle Befehle mittels sudo als root ausführen.

%administrator         ALL = (ALL) ALL

Der User admin darf ohne Passwortabfrage alle Programme ausführen. Die Gruppe users darf ohne Passwortabfrage den Befehl /usr/sbin/IRGENDEINSCRIPT ausführen.

 admin      ALL = NOPASSWD: ALL
 %users     ALL = NOPASSWD: /usr/sbin/IRGENDEINSCRIPT

Die untersten Einträge haben die höchste Priorität. D.h., gilt für die Gruppe admin: „ALL = (ALL) ALL“, so werden NOPASSWD-Einträge für user aus admin überschrieben. Es ist also ratsam, „%admin ALL=(ALL) ALL“ über entsprechenden NOPASSWD-Einträgen zu definieren.

Root-Passwort einrichten

Im Allgemeinen fährt man bei Ubuntu gut damit, den Root-Account deaktiviert zu lassen und das System ausschließlich über sudo zu administrieren. Es gibt allerdings einen Grund, den Root-Account u.U. zu aktivieren. Wenn nicht-vertrauenswürdige Benutzer direkten Zugang zum Rechner haben, können sie ihn über den Bootmanager Grub im Recovery Modus starten. Ist der Root-Account deaktiviert, erhält ein böswilliger Benutzer so ohne Passwortabfrage eine Root-Shell. Wird der Rechner in einer Multiuser-Umgebung eingesetzt, z.B. im Rechnerraum einer Schule oder Universität, sollte der Root-Account daher aktiviert werden. Allerdings gibt es in so einem Szenario noch eine Reihe weiterer möglicher Schlupflöcher, die relativ einfach auszunutzen sind. Die Beachtung des Artikels Lokale Sicherheit ist daher das mindeste, was man unternehmen sollte.

Was man aber nach Möglichkeit unterlassen sollte, ist nur noch auf den Root-Account zu setzen und die sudo-Möglichkeit ganz zu deaktivieren. Die Konfigurationswerkzeuge von Ubuntu sind nämlich auf die Benutzung von sudo ausgelegt, und wenn diese Art der Authentifizierung nicht mehr zur Verfügung steht, kann dies durchaus zu Problemen insbesondere bei den grafischen Administrationswerkzeugen kommen.

Wer also den direkten Login als Root aus irgendeinem Grund aktivieren will, muss den Root-Benutzerzugang mit einem gültigen Passwort versehen. Bitte bei folgendem Befehl darauf achten, dass sudo zuerst nach dem eigenen Passwort fragt.

sudo passwd

Damit kann man sich mit su bereits als Benutzer root einloggen, allerdings ist es unter Verwendung von sudo nach wie vor möglich Root-Rechte zu erlangen. Damit für alle administrativen Tätigkeiten das Root-Passwort anstelle des Benutzerpasswortes benötigt wird (auch für Sudo-Frontends), empfiehlt es sich, einen entsprechenden Eintrag in /etc/sudoers vorzunehmen. Dazu startet man den dazu vorgesehenen Editor visudo, und fügt der ersten nicht auskommentierten Zeile die flags targetpw und timestamp_timeout = 0 hinzu.

Defaults        !lecture,tty_tickets,!fqdn,targetpw,timestamp_timeout = 0

Das timestamp_timeout = 0 führt dazu, dass bei jeder Benutzung von sudo nach dem Passwort gefragt wird. Was für einen Sinn so eine Maßnahme haben soll, ist allerdings fraglich. Schließlich kann man jeden Benutzer, der kein sudo benutzen

Root-Anmeldung untersagen

Hat man einmal dem root-Benutzer ein Passwort gegeben und möchte dies wieder rückgängig machen, so kann man mit dem Befehl soll, auch einfach aus der admin-Gruppe entfernen.

sudo passwd -l root

den Account wieder in den „deaktivierten“ Zustand bringen.

sudo.txt · Zuletzt geändert: von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki