Sudo: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
K (wikif.)
Zeile 1: Zeile 1:
{{titel|sudo}}
{{titel|sudo}}{{righttoc}}
== Was ist Sudo?==
sudo (substitute user do) ist ein Befehl, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers (z.B. root) zu starten, während sudo alle Befehle und Argumente mitloggt. Der dauerhafte Wechsel der Identität erfolgt durch <code>sudo -s</code>.
sudo (substitute user do) ist ein Befehl, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers (z.B. des Superusers root) zu starten, während sudo alle Befehle und Argumente mitloggt. Der dauerhafte Wechsel der Identität erfolgt durch sudo -s oder mit dem Befehl su.


Man benutzt sudo anstelle von su, um bestimmten Benutzern die Möglichkeit zu geben, gewisse Programme z.B. mit Root-Rechten ausführen zu können, ohne das Root-Passwort weitergeben zu müssen. Die Sicherheitsrichtlinien sind in der Datei /etc/sudoers gespeichert.
Man benutzt <code>sudo</code> anstelle von <code>su</code>, um bestimmten Benutzern die Möglichkeit zu geben, gewisse Programme z.B. mit root-Rechten ausführen zu können, ohne das root-Passwort weitergeben zu müssen. Die Sicherheitsrichtlinien sind in der Datei <code>/etc/sudoers</code> gespeichert.


== Installation ==
== Installation ==
Das nötige Paket ist in <code>core</code>-Repository vorhanden und kann aus diesem mittels [[Pacman]] installiert werden.


Um sudo zu installieren:
  pacman -S sudo
  pacman -S sudo


== Sudo für Benutzer einrichten ==
Nach der Installation muss sudo noch konfiguriert werden.


Um den Benutzern (bestimmte) root-Privilegien zu geben muss die Datei /etc/sudoers als root mit dem Kommando visudo bearbeitet werden, da so eine Syntaxüberprüfung gewährleistet ist. Bei der direkten Bearbeitung ohne Prüfung - also mit einem anderen Editor - kann der kleinste Tippfehler dazu führen, dass man sich aus dem System aussperrt und nur über den Recovery-Modus wieder Zugang erhalten kann. Dies sollte daher unbedingt mit folgendem Kommando gemacht werden:
== sudo für Benutzer einrichten ==
  su
Um den Benutzern (bestimmte) root-Privilegien zu geben muss die Datei <code>/etc/sudoers</code> als root mit dem Kommando <code>visudo</code> bearbeitet werden, da so eine Syntaxüberprüfung gewährleistet ist. Bei der direkten Bearbeitung ohne Prüfung - also mit einem anderen Editor - kann der kleinste Tippfehler dazu führen, dass man sich aus dem System aussperrt und nur über den Recovery-Modus wieder Zugang erhalten kann. Dies sollte daher unbedingt mit folgendem Kommando gemacht werden:
  visudo
 
su
visudo


Durch hinzufügen der Zeile
Durch hinzufügen der Zeile
  USER_NAME  ALL=(ALL) ALL


werden dem entsprechenden Benutzer die gleichen Rechte gewährt wie root selbst, wobei USER_NAME durch den jeweiligen Benutzernamen zu ersetzen ist.
USERNAME  ALL=(ALL) ALL
 
werden dem entsprechenden Benutzer die gleichen Rechte gewährt wie root selbst, wobei <code>USERNAME</code> durch den jeweiligen Benutzernamen zu ersetzen ist. Dies stellt ein '''erhebliches''' Sicherheitsrisiko dar.
 
Will man einem Benutzer beispielsweise einen einzigen Befehl freischalten, ohne dass er das Passwort eingeben muss, muss folgende Zeile eingefügt werden:
Will man einem Benutzer beispielsweise einen einzigen Befehl freischalten, ohne dass er das Passwort eingeben muss, muss folgende Zeile eingefügt werden:


  USER_NAME   ALL=NOPASSWD:/Pfad/zum/Programm
USERNAME   ALL=NOPASSWD:/Pfad/zum/Programm


Wobei USER_NAME durch den Benutzernamen zu ersetzen ist.
Wobei auch hier wieder <code>USERNAME</code> durch den Benutzernamen zu ersetzen ist.


== Bash-Completion für sudoer ==
== Bash-Completion für sudoer ==
Ist das Programm [[Bash-Completion|bash-completion]] installiert, werden Befehle in einem Terminal durch drücken der Tabulator-Taste automatisch vervollständigt. Das erspart zum Beispiel das komplette eingeben eines Dateinamens. Beispiel:
fir<TAB>


Ist das Programm [[Bash-Completion|bash-completion]] installiert, werden Befehle in einem Terminal durch drücken der Tabulator-Taste automatisch vervollständigt. Das erspart zum Beispiel das komplette eingeben eines Dateinamens. Beispiel:
  fir<TAB>
ergibt in der Shell das Kommando:
ergibt in der Shell das Kommando:
  firefox
 
firefox
 
Wollen Sudo-Benutzer Bash-Completion genießen muss die Datei ''~/.bashrc'' editiert werden:
Wollen Sudo-Benutzer Bash-Completion genießen muss die Datei ''~/.bashrc'' editiert werden:


Zeile 39: Zeile 45:
Eine Kuriosität ist die Möglichkeit, sich bei falscher Passworteingabe von sudo beleidigen zu lassen.
Eine Kuriosität ist die Möglichkeit, sich bei falscher Passworteingabe von sudo beleidigen zu lassen.
Dazu muss in der Datei /etc/sudoers folgende Zeile ergänzt werden
Dazu muss in der Datei /etc/sudoers folgende Zeile ergänzt werden
  Defaults insults
  Defaults insults


== Weblinks ==
== Weblinks ==
[http://de.wikipedia.org/wiki/Sudo Wikipedia-Seite zu sudo] {{sprache|de}}
* [http://de.wikipedia.org/wiki/Sudo Wikipedia-Seite zu sudo] {{sprache|de}}
 
* [http://www.courtesan.com/sudo/man/sudoers.html Das "Sudoers Manual"] {{sprache|en}}
[http://www.courtesan.com/sudo/man/sudoers.html Das "Sudoers Manual"] {{sprache|en}}
* [http://archux.com/page/setting-sudo Archwiki Setting up Sudo] {{sprache|en}}
 
[http://archux.com/page/setting-sudo Archwiki Setting up Sudo] {{sprache|en}}


[[Kategorie: Systemverwaltung]]
[[Kategorie: Systemverwaltung]]

Version vom 21. April 2010, 02:55 Uhr

Der richtige Titel für diesen Artikel lautet sudo. Dies ist aus technischen Gründen derzeit jedoch nicht möglich.


sudo (substitute user do) ist ein Befehl, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers (z.B. root) zu starten, während sudo alle Befehle und Argumente mitloggt. Der dauerhafte Wechsel der Identität erfolgt durch sudo -s.

Man benutzt sudo anstelle von su, um bestimmten Benutzern die Möglichkeit zu geben, gewisse Programme z.B. mit root-Rechten ausführen zu können, ohne das root-Passwort weitergeben zu müssen. Die Sicherheitsrichtlinien sind in der Datei /etc/sudoers gespeichert.

Installation

Das nötige Paket ist in core-Repository vorhanden und kann aus diesem mittels Pacman installiert werden.

pacman -S sudo

Nach der Installation muss sudo noch konfiguriert werden.

sudo für Benutzer einrichten

Um den Benutzern (bestimmte) root-Privilegien zu geben muss die Datei /etc/sudoers als root mit dem Kommando visudo bearbeitet werden, da so eine Syntaxüberprüfung gewährleistet ist. Bei der direkten Bearbeitung ohne Prüfung - also mit einem anderen Editor - kann der kleinste Tippfehler dazu führen, dass man sich aus dem System aussperrt und nur über den Recovery-Modus wieder Zugang erhalten kann. Dies sollte daher unbedingt mit folgendem Kommando gemacht werden:

su
visudo

Durch hinzufügen der Zeile

USERNAME   ALL=(ALL) ALL

werden dem entsprechenden Benutzer die gleichen Rechte gewährt wie root selbst, wobei USERNAME durch den jeweiligen Benutzernamen zu ersetzen ist. Dies stellt ein erhebliches Sicherheitsrisiko dar.

Will man einem Benutzer beispielsweise einen einzigen Befehl freischalten, ohne dass er das Passwort eingeben muss, muss folgende Zeile eingefügt werden:

USERNAME   ALL=NOPASSWD:/Pfad/zum/Programm

Wobei auch hier wieder USERNAME durch den Benutzernamen zu ersetzen ist.

Bash-Completion für sudoer

Ist das Programm bash-completion installiert, werden Befehle in einem Terminal durch drücken der Tabulator-Taste automatisch vervollständigt. Das erspart zum Beispiel das komplette eingeben eines Dateinamens. Beispiel:

fir<TAB>

ergibt in der Shell das Kommando:

firefox

Wollen Sudo-Benutzer Bash-Completion genießen muss die Datei ~/.bashrc editiert werden:

complete -cf sudo

Beleidigungen

Eine Kuriosität ist die Möglichkeit, sich bei falscher Passworteingabe von sudo beleidigen zu lassen. Dazu muss in der Datei /etc/sudoers folgende Zeile ergänzt werden

Defaults insults

Weblinks