sudo installieren
- 1038
- 305
- Miriam Bauschke
Was ist, wenn ein Benutzer einen Befehl als einen anderen Systembenutzer ausführen soll, ohne Passwörter auszutauschen. Sie möchten beispielsweise, dass ein Benutzer John als Benutzer Greg oder sogar als Benutzerroot (Superuser) ohne Passwort -Austausch einen Befehl oder benutzerdefinierten Bash -Shell -Skript ausführen kann, oder sogar als Benutzerroot. In diesem Fall ist ein Sudo -Dienstprogramm mit seiner Konfigurationsdatei /etc /sudoers Ihr Freund. Dieses Dienstprogramm ist sehr weit verbreitet, aber gleichzeitig von Linux -Benutzern aller Ebenen sehr wenig verstanden.
Dieser kurze Artikel beschreibt einige Grundlagen der Sudo -Nutzung und des Formats der Sudoers -Konfigurationsdatei.
sudo installieren
Zuerst müssen wir sicherstellen, dass sudo und /etc /sudoers die sudo -Konfigurationsdatei verfügbar ist. Um diesen Lauf zu machen:
$ was sudo
oder
$ sudo -v
Der erste Befehl sollte einen Ort einer Sudo -binären ausführbaren Datei aufzeigt, und das zweite Programm gibt eine Versionsnummer des Sudo -Befehls selbst aus. Die sudo -Konfigurationsdatei Sudoers befindet sich in den meisten Fällen in /etc /sudoers. Sie können den Befehl LS verwenden, um diese Datei zu finden.
$ ls -l /etc /sudoers -r-r ----- 1 Root Root 481 2010-04-08 21:43 /etc /sudoers
Beachten Sie die Standardeinstellung und die "Muss" -Remmelden der A /etc /sudoers -Datei. Nur Benutzer root und Benutzer, die zu einer Root -Gruppe gehören, können diese Datei lesen.
$ cat /etc /sudoers cat: /etc /sudoers: Erlaubnis abgelehnt
Wenn Sie bei der Ausführung der obigen Befehle einige Probleme hatten, besteht die Wahrscheinlichkeit, dass Sudo nicht auf Ihrem System installiert ist. Dies ist sehr unwahrscheinlich, wenn Sie Ubuntu, Fedora oder OpenSuse ausführen, da ein Sudo -Dienstprogramm standardmäßig in Ihrem System installiert ist. Falls Sie Debian ausführen, führen Sie einen folgenden Linux -Befehl aus, um das Sudo -Dienstprogramm zu installieren:
NOTIZ: Es ist sehr unwahrscheinlich, dass das Sudo -Dienstprogramm nicht in Ihrem System installiert ist, da die meisten anständigen Linux -Verteilungen das Sudo -Dienstprogramm standardmäßig installiert haben.
# APT-GET Sudo installieren
Für die Verteilungen von YUM (RPM) verwenden Sie diesen Befehl, um sudo zu installieren:
# yum sudo installieren
Ausführung des Bash -Skripts mit Sudo
Erstellen wir ein einfaches Bash -Skript, das uns eine grundlegende Testumgebung für einen Sudo -Befehl bietet. Die folgenden Linux -Befehle erstellen ein Bash -Skript namens sudo_test.sh innerhalb/usr/local/Bin -Verzeichnis und machen Sie es ausführbar:
$ su - Passwort: # CD/usr/local/bin/ # echo "PS Aux | Grep $$"> sudo_test.sh # echo "touch /tmp /sudo_file.tmp ">> sudo_test.sh # chmod +x sudo_test.Sch
Dieses Skript wird nichts bewirkt, außer dass es die Prozess -ID des sudo_test druckt.SH Bash -Skript zusammen mit seiner relevanten Eigentümer -ID als STDOut -Ausgabe und gleichzeitig wird eine Datei namens sudo_file erstellt.TMP innerhalb / TMP / Verzeichnis. Jetzt führen wir dieses Skript als Root -Benutzer aus und überprüfen einen Eigentümer dieses Prozesses.
./sudo_test.sh [1] 3513/usr/local/bin# ps aux | GREP 3513 Wurzel 3513 0.0 0.1 4260 908 Punkte/4 S 16:32 0:00 Bash Root 3516 0.0 0.0 1700 268 Punkte/4 R+ 16:32 0:00 Grep 3513
Wie Sie sehen können, ist die Prozess -ID 3513 im Besitz eines Benutzerwurzels. Darüber hinaus können wir durch Ausführen von LS -Befehl diese Datei /TMP /sudo_file beobachten.TMP gehört einem Root -Benutzer.
# ls -l /tmp /sudo_file.tmp -rw-r-r-- 1 root root 0 2010-08-29 17:31 /tmp /sudo_file.TMP
Lassen Sie uns /tmp /sudo_file entfernen.TMP -Datei und versuchen Sie, das gleiche Skript mit einem anderen Benutzer mit dem Namen "Lilo" auszuführen. Beachten Sie die Berechtigungen des Skripts nach der Ausführung des Befehls von LS -L.
$ whoami lilo $ ls -l/usr/local/bin/sudo_test.sh -rwxr-xr-x 1 root root 44 2010-08-29 17:31/usr/local/bin/sudo_test.sh $/usr/local/bin/sudo_test.SH Root 3502 0.0 0.3 4260 1744 Punkte/4 S+ 16:31 0:00 Bash Lilo 3773 0.0 0.1 3116 720 Punkte/5 R+ 17:36 0:00 GREP 3502 $ LS -L/TMP/sudo_file.TMP-RW-R-R-- 1 LILO LILO 0 2010-08-29 17:36 /TMP /sudo_file.TMP
Wie Sie sehen können, wird das Skript vom Lilo -Benutzer ausgeführt, und der Eigentümer dieses Prozesses ist auch ein Benutzer Lilo. Die in A /TMP /Verzeichnis erstellte Datei befindet sich auch im Besitz von Lilo -Benutzer. Bevor Sie fortfahren, entfernen Sie bitte /tmp /sudo_file.TMP -Datei.
Geben Sie dem Benutzer Sudo -Berechtigungen
Unsere nächste Aufgabe ist es jetzt, den Lilo -Benutzer dazu zu bringen,/usr/local/bin/sudo_test auszuführen können.SH -Skript mit Root -Privilegien und ohne Root -Anmeldeinformationen zu verschenken. Dazu müssen wir die Sudo -Konfigurationsdatei A /etc /sudoers bearbeiten. Da das Root nur Zugriff auf eine sudo -Konfigurationsdatei /etc /sudoers gelesen hat und wir dies nicht ändern möchten, werden wir Visudo -Befehl verwenden, das als Root ausgeführt wird, um dieser Datei eine folgende Zeile hinzuzufügen:
lilo alle = (root)/usr/local/bin/sudo_test.Sch
- LILO: Der Benutzer, der die Erlaubnis hat, die/usr/local/bin/sudo_test auszuführen.sh script
- Alle: Übereinstimmung mit allem und in diesem Zusammenhang gilt es für einen Hostnamen
- (Root): Dieser Befehl wird mit Root -Privilegien ausgeführt
- /usr/local/bin/sudo_test.SH: Der tatsächliche Befehl
Infolgedessen versuchen wir, das/usr/local/bin/sudo_test auszuführen.SH -Skript als LILO -Benutzer verwendet Sudo -Befehl und geben Sie das Passwort von Lilo ein:
$ rm /tmp /sudo_file.tmp $ sudo/usr/local/bin/sudo_test.SH [sudo] Passwort für LILO: Root 3502 0.0 0.3 4260 1744 Punkte/4 S 16:31 0:00 Bash Root 3793 0.0 0.1 3116 720 Punkte/5 S+ 17:46 0:00 GREP 3502 $ LS -L/TMP/sudo_file.tmp -rw-r-r-- 1 root root 0 2010-08-29 17:46 /tmp /sudo_file.TMP
Die Prozess -ID 3502 gehört einer Wurzel und dem Eigentümer der /tmp /sudo_file.TMP ist Root -Benutzer. Wenn Sie beispielsweise einen Benutzer lilo möchten, um ein Skript/usr/local/bin/sudo_test auszuführen.SH als Benutzer J ”John” ändere einfach /etc /sudoers Konfigurationsdatei und ersetzen Sie (root) durch (John) mit dem Befehl visudo.
sudo ohne Passwort
Wenn ein Sudo -Befehl ausgeführt wird, wird ein Benutzer nach einem Passwort gefragt. Dieser Standard -Bahaviouv eines Sudo -Befehls kann durch Bearbeiten /etc /sudoers config -Datei geändert werden. Wenn wir nicht nach einem Passwort gefragt werden möchten, ändern wir die Datei der A /etc /sudoers durch Ändern der Zeile:
lilo alle = (root)/usr/local/bin/sudo_test.Sch
mit
lilo alle = (root) nopasswd:/usr/local/bin/sudo_test.Sch
Sudo Passwort Timeout
Die Anzahl der Minuten vor Sudo bittet einen Benutzer, ein Kennwort erneut einzugeben. Dieses Verhalten kann geändert werden, indem die Anweisung Timestamp_Timeout von Sudo innerhalb /etc /sudoers Datei angegeben wird. Um die Sudo -Passwort -Zeitüberschreitung auf 60 Minuten zu erhöhen, fügen wir Timestamp_Timeout sudo -Anweisung in die Datei /etc /sudoers hinzu, indem wir eine Zeile ändern:
Standardmäßig env_reset
Zu
Standards env_reset, timestamp_timeout = 60
Erfahren Sie mehr über Sudo
Beachten Sie, dass viel mehr über Sudo Command und seine Fähigkeiten zu lernen sind. Eine gute Möglichkeit, mehr über den Sudo -Befehl zu erfahren, besteht darin, mit:
Mann sudo
oder um auf die Seite der Sudoers -Konfigurationsdatei zugreifen zu können
Mann sudoers
Verwandte Linux -Tutorials:
- So entfernen Sie Bloatware von Ihrem Samsung Android Mobile…
- Umgang mit Benutzereingaben in Bash -Skripten
- So knacken Sie das Zip -Passwort auf Kali Linux
- So erstellen
- Dinge zu installieren auf Ubuntu 20.04
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Linux - Ablauf des Kennworts, Alter und Geschichte zurücksetzen
- Big Data Manipulation zum Spaß und Gewinn Teil 1
- Mastering -Bash -Skriptschleifen beherrschen
- « Installieren und spielen Sie Overwatch mit Lutris auf Ubuntu 18.04
- So installieren Sie Imagemagick 7 auf Ubuntu 18.04 Linux »