sudo ( S Oberer, höher IN Sei TUN )-Befehl wird unter Linux im Allgemeinen als Präfix für einige Befehle verwendet, die nur Superuser ausführen dürfen. Wenn Sie einem Befehl das Präfix „sudo“ voranstellen, wird dieser Befehl mit erhöhten Rechten ausgeführt. Mit anderen Worten: Ein Benutzer mit den entsprechenden Berechtigungen kann einen Befehl als ein anderer Benutzer, beispielsweise als Superuser, ausführen. Dies entspricht der Option „Als Administrator ausführen“ in Windows. Mit der Option sudo können wir mehrere Administratoren haben.
Diese Benutzer, die das verwenden können Sudo Der Befehl muss einen Eintrag in der haben Sudoer Datei befindet sich unter /etc/sudoers . Denken Sie daran, dass Sie zum Bearbeiten oder Anzeigen der sudoers-Datei den Befehl sudo verwenden müssen. Um die sudoers-Datei zu bearbeiten, wird empfohlen, den Befehl visudo zu verwenden.
Standardmäßig verlangt sudo, dass Benutzer sich mit einem Passwort authentifizieren, das das Passwort des Benutzers ist, nicht das Root-Passwort selbst.
Syntax für den Sudo-Befehl:
sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command>
Im Sudo-Befehl verfügbare Optionen
| Optionen | Beschreibung | Syntax |
|---|---|---|
| -IN | Die Option -V (Version) bewirkt, dass sudo die Versionsnummer ausgibt und beendet wird. Wenn der aufrufende Benutzer bereits Root ist, gibt die Option -V eine Liste der Standardeinstellungen aus, mit denen sudo kompiliert wurde. | sudo -V> |
| -l | Die Option -l (Liste) gibt die Befehle aus, die dem Benutzer auf dem aktuellen Host erlaubt (und verboten) sind. | sudo -l> |
| -h oder –help | Die Option -h (Hilfe) bewirkt, dass sudo eine Nutzungsmeldung ausgibt und beendet wird. | sudo -h> |
| -In | Bei Angabe der Option -v (validieren) aktualisiert sudo den Zeitstempel des Benutzers und fordert bei Bedarf zur Eingabe des Kennworts des Benutzers auf. Dadurch wird das Sudo-Timeout um weitere 5 Minuten verlängert (oder wie in Sudoers angegeben), es wird jedoch kein Befehl ausgeführt. Dies führt zu keiner Ausgabe. | sudo -v> |
| -k | Die Option -k (kill) für sudo macht den Zeitstempel des Benutzers ungültig. Wenn sudo das nächste Mal ausgeführt wird, ist daher ein Passwort erforderlich. Diese Option erfordert kein Passwort und wurde hinzugefügt, um einem Benutzer das Entziehen von Sudo-Berechtigungen aus einer Abmeldedatei zu ermöglichen. | sudo -k> |
| -K | Ähnlich wie die Option -k wird die Option -K (Sure Kill) verwendet, um den Zeitstempel des Benutzers vollständig zu entfernen. Ebenso ist für diese Option kein Passwort erforderlich. | sudo -K> |
| -B | Die Option -b (Hintergrund) weist sudo an, den angegebenen Befehl im Hintergrund auszuführen. Beachten Sie, dass Sie die Shell nicht verwenden können, wenn Sie die Option -b verwenden Arbeitsplatzkontrolle den Prozess zu manipulieren. | sudo -b [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -P | Mit dem Befehl sudo -p prompt können Sie die Passwortabfrage anpassen, die sudo anzeigt, wenn das Passwort des Benutzers angefordert wird. Standardmäßig zeigt sudo eine generische Passwort-Eingabeaufforderung an, die wie folgt aussieht: | sudo -p 'Enter your password' [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -N | Mit der Option -n kann sudo einen Befehl ausführen, ohne nach einem Passwort zu fragen. Diese Option ist nützlich, wenn Sie Sudo-Befehle als Hintergrundjobs oder in einem Shell-Skript ausführen. Die Option -n steht für nicht interaktiv. | sudo -n [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -In | Die Option -u bewirkt, dass sudo den angegebenen Befehl als anderer Benutzer als root ausführt. Um eine UID anstelle eines Benutzernamens anzugeben, verwenden Sie #uid. | sudo -u [user] [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -S | Die Option -s führt die Shell aus, die durch die Umgebungsvariable SHELL angegeben wird, sofern diese festgelegt ist, oder die Shell, wie in der Datei passwd angegeben. | sudo -s [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -H | Die Option -H setzt die Umgebungsvariable HOME auf das Home-Verzeichnis des Zielbenutzers (standardmäßig Root), wie in passwd angegeben. Standardmäßig ändert sudo HOME nicht. | sudo -H [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -S | Die Option -S bewirkt, dass sudo das Passwort von der Standardeingabe statt vom Endgerät liest. | sudo -S [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| -A | Die Option -a bewirkt, dass sudo bei der Validierung des Benutzers den angegebenen Authentifizierungstyp verwendet, wie in /etc/login.conf zulässig. Der Systemadministrator kann eine Liste sudo-spezifischer Authentifizierungsmethoden angeben, indem er einen auth-sudo-Eintrag in /etc/login.conf hinzufügt. | sudo -a [auth-type] [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
| — | Das Flag „–“ gibt an, dass sudo die Verarbeitung von Befehlszeilenargumenten beenden soll. Am nützlichsten ist es in Verbindung mit dem Flag -s. | sudo -- [command]> (Ersetzen Sie den Befehl durch den Befehl, den Sie im Hintergrund ausführen möchten.) |
Die Ausgabe weniger Befehle
1. -V: Die Option -V (Version) veranlasst sudo, die Versionsnummer auszugeben und zu beenden. Wenn der aufrufende Benutzer bereits Root ist, gibt die Option -V eine Liste der Standardeinstellungen aus, mit denen sudo kompiliert wurde.
sudo -V
2. -l: Die Option -l (Liste) gibt die Befehle aus, die dem Benutzer auf dem aktuellen Host erlaubt (und verboten) sind.
sudo -l
3. -h oder –help: Die Option -h (Hilfe) bewirkt, dass sudo eine Nutzungsmeldung ausgibt und beendet wird.
sudo -h
Umgebungsvariablen
Diese Umgebungsvariablen werden von sudo verwendet
| Etikett | Beschreibung |
|---|---|
| EDITOR | Standardeditor zur Verwendung in -Es ist (sudoedit)-Modus, wenn VISUAL nicht festgelegt ist |
| HEIM | In -S oder -H mode (oder wenn sudo mit dem konfiguriert wurde –enable-Shell-Sets-Home-Option), auf Homedir des Zielbenutzers gesetzt |
| WEG | Auf einen vernünftigen Wert setzen, wenn die secure_path Die Option „sudoers“ ist festgelegt. |
| HÜLSE | Wird verwendet, um die Shell zu bestimmen, die mit der Option -s ausgeführt werden soll |
| SUDO_PROMPT | Wird als Standard-Passwortabfrage verwendet |
| SUDO_COMMAND | Auf den von sudo ausgeführten Befehl einstellen |
| SUDO_USER | Auf den Login des Benutzers setzen, der sudo aufgerufen hat |
| SUDO_UID | Auf die UID des Benutzers setzen, der sudo aufgerufen hat |
| SUDO_GID | Auf die GID des Benutzers setzen, der sudo aufgerufen hat |
| SÜD_PS1 | Wenn festgelegt, wird PS1 auf seinen Wert gesetzt |
| BENUTZER | Auf den Zielbenutzer festlegen (root, es sei denn, der -In Option ist angegeben) |
| VISUELL | Standardeditor zur Verwendung in -Es ist (sudoedit)-Modus |
sudo-Befehl unter Linux – FAQ
Was ist „sudo“ unter Linux?
Sudo ist ein Befehl unter Linux, der es Benutzern ermöglicht, Befehle mit Berechtigungen auszuführen, die nur Root-Benutzer haben. Es hilft Benutzern, Aufgaben mit Administratorrechten zu erledigen, ohne sich als Root-Benutzer anzumelden, obwohl dies manchmal riskant sein kann.
Welche Linux-Befehle benötigen „sudo“-Berechtigungen?
Es gibt viele Linux-Befehle, die zur Ausführung mit Sudo-Berechtigungen erforderlich sind, z. B. Netzwerkbefehle, Paketverwaltungsbefehle und Befehle auf Systemebene. Befehle, für deren Ausführung Sudo-Berechtigungen erforderlich sind, sind beispielsweise „yum“, „systemctl“, „mount“, „apt-get“, „fdisk“ und „ifconfig“.
Konvertieren Sie einen String in int in Java
Was kann ich mit sudo ausführen?
Es gibt viele Linux-Befehle, für deren Ausführung Sudo-Berechtigungen erforderlich sind. Man muss jedoch daran denken, sie mit Vorsicht zu verwenden, da sie wichtige Systemkonfigurationen und Dateien ändern können. Um Konsequenzen zu vermeiden, sollten wir dies zweimal überprüfen, bevor wir Befehle ausführen. Befehle wie:
- Neues Paket installieren: `sudo apt-get install package_name`
- Aktualisieren des Systems: `sudo apt-get update && sudo apt-get upgrade`
- Systemkonfigurationen ändern: `sudo nano /etc/fstab`
- Starten eines Systemdienstes: `sudo systemctl start service_name`
- Stoppen eines Systemdienstes: `sudo systemctl stop service_name`
- Erstellen eines neuen Benutzerkontos: `sudo useradd Benutzername`
- Dateiberechtigungen ändern: `sudo chmod 755 Dateiname`
Was ist der Unterschied zwischen den Befehlen su und sudo unter Linux?
Unter Linux ermöglicht der Befehl su (switch user) Benutzern, sich als anderer Benutzer, häufig als Root-Benutzer, anzumelden und auf ihre Dateien und Einstellungen zuzugreifen. Im Gegensatz dazu ermöglicht der Befehl sudo Benutzern, bestimmte Befehle mit erhöhten Rechten auszuführen, ohne sich als Root-Benutzer anmelden zu müssen. Sudo ist eine sicherere Methode, Benutzern temporäre Root-Rechte zu gewähren.
Wie gebe und entnehme ich dem Benutzer Sudo-Zugriff unter Linux?
Unter Linux können wir „sudo“-Zugriff gewähren oder nehmen, indem wir den Benutzernamen zur Datei namens „sudores“ hinzufügen oder daraus entfernen. Um den Sudoers einen Benutzernamen hinzuzufügen, müssen wir den Befehl „sudo visudo“ ausführen, die Datei bearbeiten und die Zeile hinzufügen, die dem Benutzer Zugriff gewährt. Beispiel: Benutzername ALL=(ALL:ALL) ALL gewährt dem Benutzer vollständigen Zugriff auf den Befehl sudo.
Und wir können den Sudo-Zugriff eines Benutzers deaktivieren, indem wir denselben Befehl Sudo Visudo verwenden, der zum Bearbeiten der Sudoers-Datei verwendet wird und die Zeile entfernt, die ihm Sudo-Zugriff gewährt. Sobald die Zeile gelöscht ist, kann der Benutzer den Befehl sudo nicht mehr zum Ausführen privilegierter Befehle verwenden.
Abschluss
Unter Linux ist diesudo>Der Befehl fungiert wie ein magischer Schlüssel, der besondere Kräfte freischaltet und es Ihnen ermöglicht, wichtige Aufgaben auszuführen, die normalerweise nur der Superuser ausführen kann. Dabei handelt es sich um eine Möglichkeit, um Erlaubnis zu bitten, Befehle mit erhöhten Rechten auszuführen, etwa die Installation von Software oder das Ändern von Systemeinstellungen. Sie nutzensudo>vor einem Befehl, um anzuzeigen, dass Sie ihn als Superuser ausführen dürfen. Benutzensudo>, müssen Sie normalerweise Ihr eigenes Passwort eingeben, um zu beweisen, dass Sie es wirklich tun und nicht jemand anderes. Erinnern,sudo>ist leistungsstark, also verwenden Sie es vorsichtig! Es kann wichtige Dinge auf Ihrem Computer verändern. Durch Verständnissudo>und seine Optionen können Sie Linux effektiver und sicherer nutzen.