Sudo: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
# 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
<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
  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
<syntaxhighlight lang="bash" highlight="1" line>
  Defaults env_keep += "DISPLAY"
  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
<syntaxhighlight lang="bash" highlight="1" line>
  xhost +
  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
<syntaxhighlight lang="bash" highlight="1" line>
  # usermod -G sudo -a BENUTZERNAME
  # 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
<syntaxhighlight lang="bash" highlight="1" line>
  'USER' ALL=(ALL) NOPASSWD:ALL
  '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 ====



Version vom 12. Dezember 2024, 08:22 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/