Benutzer-Werkzeuge

Webseiten-Werkzeuge


lin_sudo

SUDO - User als root

Autor: Niko, erstellt am 13.07.2019

Mit dem Befehl sudo lassen sich als normaler User (nicht root!!) die Rechte erhöhen um Systemverwaltungsaufgaben ausführen zu können. Denn es gehört zum guten Ton nicht als root mit dem System zu arbeiten. Das kann man tun wenn man das System konfiguriert.

Angenommen wir sind mit einem User angemeldet wollen das Paket vim installieren. Klar kann man sich abmelden, als root anmelden und vim installieren, danach abmelden und als User wieder anmelden… wohl eher nicht, oder? Um dem User temporär für eine Aufgabe Root-Rechte zu geben gibt es den Befehl sudo.

Öffen auf deinem Linux-Desktop ein Terminalfenster. ich bin hier mit dem User lana auf meinem Linuxserver buster angemeldet. Die Versuche das Paket vim zu installieren schlagen mit und ohne sudo fehl - warum kommt gleich…

lana@buster:~$ apt install vim
E: Sperrdatei /var/lib/dpkg/lock-frontend konnte nicht geöffnet werden. - open (13: Keine Berechtigung)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
lana@buster:~$ sudo apt install vim
[sudo] Passwort für lana: 
lana ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.
lana@buster:~$ 

Beide Fehlschläge liegen an fehlenden Berechtigungen. Abhilfe schafft die korrekte Konfiguration von /etc/sudoers bzw. von /etc/sudoers.d. In /etc/sudoers erfolgt die generelle Konfiguration von sudo. Man kann seinen User direkt unter /etc/sudoers eintragen, eleganter und weniger fehleranfällig ist ein eigene sudo-File pro User unter /etc/sudoers.d.

/etc/sudoers

Diese Datei sollte nur mit visudo bearbeitet werden. Der Editor hat die Syntaxprüfung für sudoers bereits im Bauch. Allerdings kann man /etc/sudoers nur mit Root-Rechten bearbeiten. Man hat a) einen User der bereits sudo-Rechte hat oder b) man meldet sich mit dem Benutzer root am System an. Wir wählen b).

root@buster:~# visudo /etc/sudoers

Im Editorfenster suchen wir die Zeile

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

und fügen eine Zeile ein:

# User privilege specification
root    ALL=(ALL:ALL) ALL
lana    ALL=(ALL:ALL) ALL

Speichern mit STRG+O, ENTER zum Speichern und verlassen visudo mit STRG+X That's all.
Im Klartest steht da lana kann von jedem Terminal=(USER:GRUPPE) ALLes ausführen. Das soll für's erste reichen. Mehr Info und Möglichkeiten stehen in der Manpage von sudoers man sudoers.
Jetzt kannst Du dich als root ab- und als User wieder anmelden.

sudo mit User testen

lana@buster:~$ sudo apt install vim -y
[sudo] Passwort für lana: 
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  vim-runtime
 .
 .
 .

Du siehst, es tut sich was.
Entferne die eingefügte Zeile wieder aus /etc/sudoers und probiere die andere Möglichkeit aus!

/etc/sudoers.d

Melde dich wieder als root am System an und erstelle eine sudo-Datei für deinen User unter /etc/sudoers.d/. Der Dateiname lana_sudoers ist frei gewählt.

root@buster:~# visudo /etc/sudoers.d/lana_sudoers

Tippe die Zele lana ALL=(ALL:ALL) ALL in den Editor ein und drücke STRG+O danach ENTER zum Speichern und jetzt STRG+X zum Beenden von visudo. In der Datei lana_sudoers steht jetzt nichts anderes als diese ein Zeile. Melde dich wieder ab und als normaler Benutzer wieder an und deinstalliere vim wieder.

sudo mit User testen

lana@buster:~$ sudo apt remove vim -y
[sudo] Passwort für lana: 
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
 .
 .
 .
lin_sudo.txt · Zuletzt geändert: 13.07.2019 18:05 von radirgummir

Seiten-Werkzeuge