Wie kann ich vom Root-Benutzer einem anderen Benutzer die Berechtigung erteilen, die Datei /root/script.sh auszuführen?
Die Idee ist, das Skript wie auszuführen sudo -u user1 /root/script.sh
root
privileges
Bulkmoustache
quelle
quelle
sudo
Befehl, den Sie geschrieben haben?su(1)
Antworten:
Ich muss sagen, dass es mir nie gefallen hat
sudo
(besonders die Konfigurationen). Einfach altsu
:Wird von root ausgeführt und fordert nicht zur Eingabe eines Kennworts auf.
quelle
Der Benutzer muss haben
Berechtigung für den gesamten Verzeichnispfad ausführen (
/root
nur hier )Berechtigung für die Datei ausführen
Leseberechtigung für die Datei
Es kann eine gute Idee sein,
/root
unberührt zu lassen und ein anderes Verzeichnis für diesen Zweck zu erstellen (oder zu verwenden) (z/usr/local/bin
. B. ). Sie könnenuser1
den einzigen Benutzer, der das Skript ausführen darf, zum Eigentümer der Datei machen oderroot
als Eigentümer und Gruppe belassen, die einfachen Zugriffsberechtigungen (chmod
) festlegen770
unduser1
mit ACLs (setfacl
) hinzufügen .quelle
Wenn sich Ihr Skript im Stammverzeichnis befindet, dann
user1
kann nur root sein.Ihr
/etc/sudoers
Eintrag wird so aussehenNormalerweise bearbeiten Sie die Datei mit
visudo
Sie müssen dann auch nicht
-u root
auf Ihrensudo
Befehl setzen.Das
%
bedeutet die Benutzergruppe. Wenn Sie es weglassen, darf nur der Benutzer den Befehl ausführen. Wenn Sie möchten, dass eine Gruppe von Benutzern es ausführt, lassen Sie es so, wie es ist.quelle