So führen Sie Shell -Skripte mit Sudo -Befehl unter Linux aus
- 3270
- 166
- Tamina Liebach
sudo ist ein leistungsstarkes Befehlszeilen -Tool, das eine “ermöglicht“erlaubter Benutzer”Einen Befehl als ein anderer Benutzer (standardmäßig der Superuser) ausführen, wie durch eine Sicherheitsrichtlinie definiert. Bei den meisten, wenn nicht allen Linux -Systemen wird die Sicherheitsrichtlinie von der angetrieben /etc/sudoers Datei.
Lesen Sie auch: 10 nützliche Sudoers -Konfigurationen zum Einstellen von 'sudo' unter Linux
Um ein Shell -Skript oder -Programm als Root auszuführen, müssen Sie sudo -Befehl verwenden. Jedoch, sudo Erkennt und leitet nur Befehle an, die in den in der angegebenen Verzeichnissen existieren Secure_Path im /etc/sudoers, Es sei denn, ein Befehl ist in der vorhanden Secure_Path, Sie werden einem Fehler wie dem unten entgegenwirken.
Dies wird auch dann geschehen, wenn das Skript in einem Verzeichnis in der vorhanden ist WEG Umgebungsvariable, denn wenn ein Benutzer anruft sudo, WEG wird ersetzt durch Secure_Path.
$ echo $ path $ ls -l $ sudo Proconport.Sh 80Sudo -Fehler beim Ausführen von Skript
Im obigen Szenario im Verzeichnis /home/aaronkilik/bin ist in dem WEG Umgebungsvariable und wir versuchen, das Skript auszuführen /home/aaronkilik/bin/proconport.Sch (Findet Prozess, das auf einem Port zuhört) mit Root -Privilegien.
Dann haben wir den Fehler begegnetSudo: Proconport.SH: Befehl nicht gefunden", seit /home/aaronkilik/bin ist nicht in der sudo Secure_path Wie im nächsten Screenshot gezeigt.
Überprüfen Sie den sudo sicheren PfadUm dies zu beheben, müssen wir das Verzeichnis mit unseren Skripten in der hinzufügen sudo Secure_path durch Verwendung der Visudo -Befehl durch Bearbeitung /etc/sudoers Datei wie folgt.
$ sudo visudo
Aufmerksamkeit: Diese Methode hat schwerwiegende Sicherheitsauswirkungen, insbesondere auf Server, die im Internet ausgeführt werden. Auf diese Weise riskieren wir, unsere Systeme verschiedenen Angriffen auszusetzen, da ein Angreifer, der es schafft, Zugriff auf ein unsicheres (ohne Superuser -Privilegien) zu erhalten, das zu Secure_Path hinzugefügt wurde, mit einem böswilligen Skript/Programm mit Ausführen Sudo -Befehl.
Schauen Sie sich aus Sicherheitsgründen den folgenden Artikel auf der Sudo -Website an, eine Sicherheitsanfälligkeit für Secure_Path: https: // www.sudo.WS/sudo/alarms/Secure_path.html
Vorzugsweise können wir den absoluten Weg zu einem Skript bieten, während wir es mit sudo ausführen:
$ sudo ./Proconport.Sh 80Führen Sie das Skript mit dem SUDO -Befehl aus
Das ist es! Sie können die Liste der Artikel über den Befehl sudo befolgen:
- So führen Sie den Befehl "sudo" aus, ohne ein Passwort unter Linux einzugeben
- So halten Sie "sudo" -Kennwort -Timeout -Sitzung länger unter Linux
- So beheben Sie "Benutzername" befindet sich nicht in der Sudoers -Datei. Dieser Vorfall wird gemeldet “in Ubuntu
- Lassen Sie sich von Sudo beleidigen, wenn Sie ein falsches Passwort eingeben
Wenn Sie Fragen oder Gedanken zu diesem Artikel haben, teilen Sie uns über das folgende Kommentarformular mit.
- « So installieren Sie Postgresql 10 auf CentOS/Rhel und Fedora
- 4 Möglichkeiten zum Anschauen oder Überwachen von Protokolldateien in Echtzeit »