Ich muss einen bestimmten Befehl auf einer Debian Linux-Box für einen einzelnen Benutzer zulassen. Ich habe dies in der /etc/sudoers
Datei versucht :
# User privilege specification
zabbix ALL=NOPASSWD: /usr/bin/apt-get --print-uris -qq -y upgrade 2>/dev/null |awk '{print $2}' | wc | awk '{print $1}'
Das funktioniert nicht wie erwartet. Wenn ich den Befehl als Benutzer zabbix mit sudo ausführe, fragt er nach dem Kennwort (obwohl ich die NOPASSWD
Option angegeben habe).
Dies funktioniert jedoch:
# User privilege specification
zabbix ALL=NOPASSWD: /usr/bin/apt-get
apt-get
Hat aber den Nachteil, dass alle Unterbefehle von erlaubt sind. Gibt es eine Möglichkeit, wie ich dies beheben kann, um nur einen bestimmten Befehl zuzulassen?
Wahrscheinlich stören Sie die Art und Weise, wie die Umleitung mit sudo interagiert. Die Umleitung erfolgt beim anrufenden Benutzer, nicht beim privilegierten Benutzer. Es wäre wahrscheinlich einfacher für Sie, Ihren Befehl in ein Skript zu packen und dann dem zabbix-Benutzer zu erlauben, dieses Skript auszuführen, z
die eingestellten Sudoer wie
Jetzt wird das gesamte Skript als privilegierter Benutzer ausgeführt und nicht nur der bestimmte Befehl apt-get. Stellen Sie jedoch sicher, dass der zabbix-Benutzer nicht in das Skript schreiben kann.
quelle