Necesito permitir un comando específico en un cuadro de Debian Linux para un solo usuario. He intentado esto en el /etc/sudoers
archivo:
# 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}'
Esto no funciona como se esperaba. Si ejecuto el comando como usuario zabbix con sudo, me pide la contraseña (aunque he especificado elNOPASSWD
opción).
Sin embargo, esto funciona:
# User privilege specification
zabbix ALL=NOPASSWD: /usr/bin/apt-get
Pero tiene el inconveniente de que todos los subcomandos apt-get
están permitidos. ¿Hay alguna forma de solucionar esto para permitir solo un comando específico?
Probablemente te estés equivocando por la forma en que la redirección interactúa con sudo. La redirección se realiza en el usuario llamante, no en el usuario privilegiado. Probablemente sería más fácil para usted ajustar su comando en un script y luego permitir que el usuario de zabbix ejecute ese script, por ejemplo
los sudoers establecidos como
Ahora todo el script se ejecutará como el usuario privilegiado y no solo el comando apt-get en particular. Sin embargo, asegúrese de que el usuario de zabbix no pueda escribir en el script.
fuente