No necesito un administrador para cambiar mi contraseña de root. No quiero que ningún usuario de sudo ejecute este comando:
sudo passwd $root
Lo he intentado en el archivo sudoers usando el siguiente comando:
%sudo ALL=(ALL) ALL, !/usr/bin/passwd $root
¿Cómo puedo bloquearlo?

Respuestas:
Según el manual de sudoers :
Es por eso que su política de sudoers no funciona.
Si desea evitar que el usuario obtenga permiso de root y cambie su contraseña, intente este procedimiento:
Asumiendo que sudoers contiene esta directiva:
Asumiendo que su nombre de usuario es
foo, sus grupos sonfooysudo.groupsla salida del comando es:Eliminar usuario
foodelsudogrupo:gpasswd -d foo sudodespués de esto, usuariofoono puede ejecutar ningún comando con sudo.Editar archivo sudoers. Usa este comando:
Defina el
foopermiso del usuario , por ejemplo:Esto significa que el usuario
foopuede ejecutar cualquier comando en el directorio/usr/bin/excepciónpasswdysucomandos. Nota: Si el usuariofoodesea cambiar su contraseña, puede ejecutar elpasswdcomando sinsudo.Otro ejemplo de
foopermiso de usuario :Esto significa que el usuario
foopuede ejecutar cualquier comando en el directorio/usr/bin/y puede cambiar la contraseña de cualquier persona, excepto la raíz en TODAS las máquinas.Puede definir grupos de comando definiendo
Cmnd_Aliasesy creando "niveles de permisos". Puede encontrar ejemplos útiles en la sección EJEMPLO del manual de sudoers , y aquí hay un enlace útil sobre cómo usar sudoers.fuente
foo ALL=/usr/bin/*, !/usr/bin/passwdalguna idea de por qué ese es el caso?agregar alias de comando a través de
visudo:agregar restricciones a través de
visudo:agregar usuario al grupo llamado nopasswdgroup:
fuente