Sudo: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''sudo''' - Kommandos mit der Identität eines anderen Benutzers ausführen
'''sudo''' - [[Kommando]]s mit der [[Linux/Identität|Identität]] eines anderen [[Linux/Benutzer|Benutzer]]s [[ausführen]]


== Beschreibung ==
== Beschreibung ==
== Installation ==
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
# apt-get install sudo
apt-get install sudo
</syntaxhighlight>
</syntaxhighlight>
== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
Zeile 12: Zeile 13:
sudo -l [-ABknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo -l [-ABknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-ABbEHnPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] [VAR=value] [-i | -s] [command]
sudo [-ABbEHnPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] [VAR=value] [-i | -s] [command]
sudoedit [-ABknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] file ...
sudoedit [-ABknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] file ..
</syntaxhighlight>
</syntaxhighlight>


Zeile 24: Zeile 25:
* Systemkonfigurationen ändern (sudo nano /etc/fstab)
* Systemkonfigurationen ändern (sudo nano /etc/fstab)


Der Linux-Befehl sudo ermöglicht einem Benutzer, einen Befehl als Superuser oder als ein anderer Benutzer auszuführen.
Der Linux-Befehl sudo ermöglicht einem Benutzer, einen Befehl als Superuser oder als ein anderer Benutzer auszuführen
* sudo erfordert die Angabe eines Passworts.
* sudo erfordert die Angabe eines Passworts
* Dies ist normalerweise das Benutzerpasswort, nicht das Root-Passwort
* Dies ist normalerweise das Benutzerpasswort, nicht das Root-Passwort


; Beispiel
; Beispiel
usermod -G sudo -a Otto  
<syntaxhighlight lang="bash" highlight="1" line>
usermod -G sudo -a Otto
</syntaxhighlight>


Jetzt gehört der User Otto der Gruppe sudo an.
sudo apt update


Und kann mit sudo root Befehle ausführen, ohne sich als root anzumelden.
Jetzt gehört der User Otto der Gruppe sudo an
less /etc/group
<syntaxhighlight lang="bash" highlight="1" line>
sudo apt update
</syntaxhighlight>
 
Und kann mit sudo root Befehle ausführen, ohne sich als root anzumelden
<syntaxhighlight lang="bash" highlight="1" line>
less /etc/group
</syntaxhighlight>


Mit diesem Befehl lassen sich Gruppen anzeigen und nachvollziehen, wer zu sudo gehört. Siehe [[/etc/group]]
Mit diesem Befehl lassen sich Gruppen anzeigen und nachvollziehen, wer zu sudo gehört. Siehe [[/etc/group]]
Zeile 43: Zeile 51:


/etc/sudoers.d
/etc/sudoers.d
Defaults env_keep += "DISPLAY"
<syntaxhighlight lang="bash" highlight="1" line>
Defaults env_keep += "DISPLAY"
</syntaxhighlight>


Dadurch kann sudo die Umgebungsvariable DISPLAY an das ausgeführte Programm übergeben, und diese Programme können dann eine Verbindung zum richtigen DISPLAY herstellen.
Dadurch kann sudo die Umgebungsvariable DISPLAY an das ausgeführte Programm übergeben, und diese Programme können dann eine Verbindung zum richtigen DISPLAY herstellen
xhost +
<syntaxhighlight lang="bash" highlight="1" line>
xhost +
</syntaxhighlight>


== Konfiguration ==
== Konfiguration ==
Nach der Installation muss jeder Benutzer, der SuperUser-Rechte erhalten soll, der Gruppe "sudo" hinzugefügt werden
Nach der Installation muss jeder Benutzer, der SuperUser-Rechte erhalten soll, der Gruppe "sudo" hinzugefügt werden
# usermod -G sudo -a BENUTZERNAME
<syntaxhighlight lang="bash" highlight="1" line>
usermod -G sudo -a BENUTZERNAME
</syntaxhighlight>


; Ausführen von sudo ohne Passwort
; Ausführen von sudo ohne Passwort
  # visudo
<syntaxhighlight lang="bash" highlight="1" line>
visudo
</syntaxhighlight>


In der sudoers.d Datei in der letzten Zeile folgenden Befehl einfügen:
In der sudoers.d Datei in der letzten Zeile folgenden Befehl einfügen
'USER' ALL=(ALL) NOPASSWD:ALL
<syntaxhighlight lang="bash" highlight="1" line>
'USER' ALL=(ALL) NOPASSWD:ALL
</syntaxhighlight>


* User ist der Name des Users, den das betreffen soll.
* User ist der Name des Users, den das betreffen soll


; Einzelne Befehle auszuschließen
; Einzelne Befehle auszuschließen
Zeile 68: Zeile 86:
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Dokumentation ====
==== Dokumentation ====



Aktuelle Version vom 13. Dezember 2024, 12:29 Uhr

sudo - Kommandos mit der Identität eines anderen Benutzers ausführen

Beschreibung

Installation

apt-get install sudo

Aufruf

sudo -h | -K | -k | -V
sudo -v [-ABknS] [-g group] [-h host] [-p prompt] [-u user]
sudo -l [-ABknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-ABbEHnPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] [VAR=value] [-i | -s] [command]
sudoedit [-ABknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] file ..

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Beispielsweise für Aufgaben auszuführen, die sonst root vorbehalten sind

  • Programme installieren (sudo apt-get install ...)
  • Systemkonfigurationen ändern (sudo nano /etc/fstab)

Der Linux-Befehl sudo ermöglicht einem Benutzer, einen Befehl als Superuser oder als ein anderer Benutzer auszuführen

  • sudo erfordert die Angabe eines Passworts
  • Dies ist normalerweise das Benutzerpasswort, nicht das Root-Passwort
Beispiel
usermod -G sudo -a Otto


Jetzt gehört der User Otto der Gruppe sudo an

sudo apt update

Und kann mit sudo root Befehle ausführen, ohne sich als root anzumelden

less /etc/group

Mit diesem Befehl lassen sich Gruppen anzeigen und nachvollziehen, wer zu sudo gehört. Siehe /etc/group

Problembehebung

"could not open display"

/etc/sudoers.d

Defaults env_keep += "DISPLAY"

Dadurch kann sudo die Umgebungsvariable DISPLAY an das ausgeführte Programm übergeben, und diese Programme können dann eine Verbindung zum richtigen DISPLAY herstellen

xhost +

Konfiguration

Nach der Installation muss jeder Benutzer, der SuperUser-Rechte erhalten soll, der Gruppe "sudo" hinzugefügt werden

usermod -G sudo -a BENUTZERNAME
Ausführen von sudo ohne Passwort
visudo

In der sudoers.d Datei in der letzten Zeile folgenden Befehl einfügen

'USER' ALL=(ALL) NOPASSWD:ALL
  • User ist der Name des Users, den das betreffen soll
Einzelne Befehle auszuschließen
  • in der Klammer die Befehle listen, die gewünscht sind, in diesem Fall sind das alle Befehle (ALL)

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Projekt
Weblinks
  1. https://wiki.ubuntuusers.de/sudo/