Wenn ich ein Shell-Skript schreibe, in dem einige, aber nicht alle darin enthaltenen Befehle Superuser-Berechtigungen benötigen, soll ich
Fügen Sie sudo zu den Befehlen hinzu, die Superuser-Berechtigungen benötigen, und führen Sie das Shell-Skript ohne sudo oder aus
Fügen Sie den Befehlen, die Superuser-Berechtigungen benötigen, kein sudo hinzu, sondern führen Sie das Shell-Skript mit sudo aus?
Auf die zweite Weise muss ich mein Kennwort nur einmal angeben, aber alle Befehle im Skript werden mit Superuser-Berechtigungen ausgeführt, einschließlich der Befehle, die nicht benötigt werden.
In erster Linie muss ich mein Kennwort möglicherweise mehrmals für verschiedene sudo-Befehle angeben, während die Superuser-Berechtigungen nur den Befehlen gewährt werden, die sie benötigen.
Aus Sicherheitsgründen ist der erste Weg besser. Der Einfachheit halber ist der zweite Weg besser.
Ich habe darüber nachgedacht, den ersten Weg einzuschlagen. Ich muss mich also mit der Unannehmlichkeit auseinandersetzen, meine Passwörter für mehrere sudo-Befehle im Shell-Skript bereitzustellen.
-
Ein gut geschriebenes Skript erkennt, ob es mit den richtigen Berechtigungen ausgeführt wird, und ruft sudo überhaupt nicht auf, aber es gibt viele schlechte Skripte
Soll ich also den zweiten Weg gehen? Wenn ja,
Wie kann ich schreiben "Skript würde erkennen, ob es mit den richtigen Berechtigungen ausgeführt wurde und sudo überhaupt nicht aufruft"?
Wie kann ich die Sicherheit verbessern, um das Problem zu vermeiden, Befehlen Superuser-Berechtigungen zu erteilen, die sie nicht benötigen, wenn das Skript mit sudo ausgeführt wird?
- Hätte dieser einfache Ansatz das Beste aus beiden Ansätzen: Fügen Sie sudo zu Befehlen hinzu, die es nur benötigen, und führen Sie das Skript mit oder ohne sudo aus, je nachdem, ob ich Komfort oder Sicherheit möchte? Hat dieser Ansatz ein Problem?
Vielen Dank.
sudo
hätte einen Standard-Cache für Anmeldeinformationen. Ist dies auf Ihrer Plattform deaktiviert?