¿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/sudoers
archivos y /etc/sudoers.d
directorios. Es preferible agregar un archivo,con el mismo nombre que el usuariodesea configurar el sudo para, /etc/sudoers.d
aunque 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 root
ejecutar 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_user
derechos para ejecutar cat
sin escribir la contraseña y chmod
después de escribirla, en cualquier host, como cualquier usuario.
Después de crear un archivo a continuación, /etc/sudoers.d
debe 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 visudo
el 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 sudoers
para más detalles y ejemplos avanzados