Root-Rechte mit Op vergeben

Recht bekommen

Wer unter Linux häufig Befehle als Root absetzt, entdeckt schnell das Kommando Sudo, das viele Administrationsaufgaben erleichtert. Noch komfortabler ist das Tool Op.

Linux ist ein Mehrbenutzersystem – der Zugang zum privilegierten Root-Account ist darum auf vielen Rechnern gut geschützt. Oft reichen jedoch die Rechte normaler Anwender nicht aus, um beispielsweise eine CD oder einen Memory Stick einzubinden. Ohne Auto-Mounter ist guter Rat teuer. Auch die Einwahl ins Internet konfigurieren manche Distributionen so, dass sie Root-Rechte erfordern.

Ist der Benutzer gleichzeitig auch der Administrator (wie bei den meisten privat genutzten PCs), reicht es in der Regel aus, mit dem Befehl su und Eingabe des Administratorpassworts Root-Rechte zu erlangen – für die Befehle, die Sie nach Wechsel eingeben, gilt aber das Gleiche wie für die (nicht empfohlene) permanente Arbeit als Root: Kleine Tippfehler haben oft verhehrende Folgen.

Abhilfe schafft ein Szenario, in dem Benutzer nur eine vom Administrator festgelegte Auswahl von Befehlen mit Root-Rechten ausführen dürfen: Um dem Anwender beispielsweise das Mounten des USB-Sticks zu erlauben, braucht es ansonsten keine weiteren Privilegien. Das Root-Passwort darf geheim bleiben.

Klassiker Sudo

Eine bewährte Lösung des Problems liefert das Kommando sudo [2], mit dem auch Normalbenutzer einige Befehle mit Root-Privilegien ausführen dürfen, wenn der Administrator diese freigegeben hat.

Manche Linux-Distributionen (zum Beispiel Ubuntu und Knoppix) verwenden Sudo heute, um den Standardbenutzer praktisch zum Administrator zu machen, indem sie in der Konfigurationsdatei /etc/sudoers einen Eintrag der Form <§§I>Benutzername<§§I> ALL = (root) ALL anlegen.

In diesem Fall darf jeder Benutzer beliebige Befehle als Root absetzen, indem er dem gewünschten Befehl das Wort sudo voranstellt, also beispielsweise sudo killall -9 <§§I>Befehl<§§I>, um alle Prozesse namens <§§I>Befehl<§§I> abzuschießen. Nach diesem Aufruf fordert Sudo zur Sicherheit nur das eigene Passwort des Benutzers an; danach startet es den Befehl mit Root-Rechten.

Abbildung 1: Die Web-Seite zu Sudo bietet auch ausführliche Informationen zur Konfiguration.

Wollen Sie etwas genauer festlegen, wer welche Befehle ausführen darf, macht Sudo auch dies möglich – soll etwa der Benutzer abc den Befehl tail -f /var/log/messages ausführen dürfen, ergänzen Sie die Datei /etc/sudoers um die Zeile

abc ALL = (root) tail -f /var/log/messages

Der Benutzer muss den Befehl dann allerdings exakt in dieser Form eingeben, lediglich zusätzliche Leerzeichen akzeptiert Sudo ohne Kritik. Schon ein Weglassen des Parameters -f oder ein Ändern der Reihenfolge führen allerdings zu einer Fehlermeldung:

[abc@kira ~]$ sudo tail /var/log/messages -f
Sorry, user abc is not allowed to execute '/usr/bin/tail /var/log/messages -f' as root on kira.
[abc@kira ~]$ sudo tail -f /var/log/messages
Mar 31 14:13:39 kira – MARK –
Mar 31 14:33:39 kira – MARK –
[…]

Derart privilegierte Anwender müssen sich also die erlaubten Befehle präzise merken – oder vor jedem Aufruf mit sudo -l prüfen, welche Möglichkeiten das Programm ihnen eröffnet:

[abc@kira ~]$ sudo -l
User abc may run the following commands on this host:
    (root) /usr/bin/tail -f /var/log/messages

Jeder fehlerhafte Sudo-Aufruf führt zu einem Eintrag im Log, und auf manchen Rechnern schickt Sudo sogar eine Warn-Mail an den Systemadministrator.

Alternative Op

Kaum bekannt ist das Tool Op, das sich als Sudo-Ersatz anbietet und unter anderem durch eine einfachere Syntax der Konfigurationsdatei sowie komfortablere Aufrufmöglichkeiten für die Anwender auffällt. Für einfache Befehle reicht ein einzeiliger Eintrag aus, der stets dem Aufbau

Kurzbefehl Befehl; Optionen

folgt. Wollen Sie beispielsweise dem Benutzer abc erlauben, den Rechner mit halt herunter zu fahren, eignet sich dafür die Zeile

halt /sbin/halt; users=abc

Möchten Sie, dass er dazu (wie bei Sudo üblich) sein Passwort angibt, ergänzen Sie die Option password:

halt /sbin/halt; users=abc p↩
assword

Auf diese Weise konfigurieren Sie Op in wenigen Minuten für die wichtigsten Aufgaben. Zu beachten ist nur, dass Sie bei Programmen den vollen Pfad (im Beispiel /sbin/halt statt halt) angeben müssen. Der Anwender abc gibt dann in der Shell den Befehl op halt ein, um den PC herunter zu fahren.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Zu Befehl: su, sudo
    Sicher ist sicher – selbst wer Root-Rechte auf dem System hat, sollte nur temporär als Administrator arbeiten, um nicht aus Versehen Schaden anzurichten. Mit su und sudo wechseln Sie auf der Kommandozeile schnell die Identität.
  • Log-Dateien bearbeiten
    Die dicksten Dateien findet der Anwender oft nicht in seinem Home-Verzeichnis, sondern auf dem Pfade /var/log, wo er solche Ressourcenfresser nie vermutet hätte.
  • Jo´s alternativer Desktop
    Wer kennt das nicht: Irgend etwas am System hängt, und ein – lästiger – Blick in die Log Files unter /var/log/ ist nötig, um den Übeltäter einzukreisen. Auch ohne akute Probleme ist es deutlich besser, immer informiert zu sein, um nicht erst nach einem "zu spät" in den Log-Files Ursachenforschung betreiben zu müssen. Mit "root-tail" erhalten Sie ohne Mausklicks alle gewünschten Informationen aus Log-Dateien – einfach auf dem Desktophintergrund.
  • Zu Befehl
    Die tägliche Arbeit unter Linux wird aus Sicherheitsgründen nicht mit Root-Rechten, sondern unter einem normalen Account durchgeführt. Wer nicht für jede administrative Aufgabe mit su in den Superuser-Modus wechseln will, findet mit sudo Hilfe.
  • Kugelsicher
    So ein winziger USB-Stick geht schnell mal verloren – Pech nur, wenn sensible Daten darauf lagern. Verschlüsseln hilft gegen solche Pannen.
Kommentare

Infos zur Publikation

LU 09/2017 PERFEKTE FOTOS

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...
Tails verbindet nicht mit WLan
Georg Vogel, 30.07.2017 15:06, 5 Antworten
Hallo zusammen! Habe mir von Linux Mint aus einen Tails USB-Stick erstellt. Läuft soweit gut,...
Genivi for Raspberry Pi 3
Sebastian Ortmanns, 28.07.2017 10:37, 1 Antworten
I try to build a Genivi Development Platform for Rasberry Pi 3. But I always get the failures bel...
Bash awk Verständnis-Frage
Josef Federl, 22.07.2017 17:46, 2 Antworten
#!/bin/bash # Skriptdateiname = test.sh spaltennummer=10 wert=zehner awk '{ $'$spaltennummer'...
Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 3 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...