¿Puedo otorgar acceso a un único usuario que no sea sudo para ejecutar un solo comando sin sudo?

¿Puedo otorgar acceso a un único usuario que no sea sudo para ejecutar un solo comando sin sudo?

¿Es posible brindarle a un solo usuario sin acceso sudo la capacidad de ejecutar un comando protegido sudo como chmod?

Respuesta1

sudoLos archivos de configuración se almacenan en /etc/sudoersarchivos y /etc/sudoers.ddirectorios. Es preferible agregar un archivo,con el mismo nombre que el usuariodesea configurar el sudo para, /etc/sudoers.daunque también puede editar /etc/sudoers.

La sintaxis básica esquien donde = (como_quién) qué

Por ejemplo:

root ALL = (ALL:ALL) ALL

menas permite al usuario rootejecutar en cualquier host (ALL =) como cualquier usuario:grupo (ALL:ALL) cualquier comando (ALL)

En tu caso, necesitas hacer algo como:

echo "ltd_user ALL=NOPASSWD:/bin/cat, PASSWD:/bin/chmod" > /etc/sudoers.d/ltd_user

Esto otorga al usuario ltd_userderechos para ejecutar catsin escribir la contraseña y chmoddespués de escribirla, en cualquier host, como cualquier usuario.

Después de crear un archivo a continuación, /etc/sudoers.ddebe establecer el permiso en 440

chmod 440 /etc/sudoers.d/ltd_user

También tenga en cuenta que di un ejemplo muy básico (y por lo tanto usé eco y redirección), pero sería una buena práctica usar visudoel comando para editar archivos de configuración sudo, lo que garantiza que solo una persona esté editando el archivo a la vez y tenga los permisos adecuados. y se niega a escribir el archivo y salir si hay errores de sintaxis en los cambios realizados.

visudo -f /etc/sudoers.d/ltd_user

ver man sudoerspara más detalles y ejemplos avanzados

información relacionada