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 sonfoo
ysudo
.groups
la salida del comando es:Eliminar usuario
foo
delsudo
grupo:gpasswd -d foo sudo
después de esto, usuariofoo
no puede ejecutar ningún comando con sudo.Editar archivo sudoers. Usa este comando:
Defina el
foo
permiso del usuario , por ejemplo:Esto significa que el usuario
foo
puede ejecutar cualquier comando en el directorio/usr/bin/
excepciónpasswd
ysu
comandos. Nota: Si el usuariofoo
desea cambiar su contraseña, puede ejecutar elpasswd
comando sinsudo
.Otro ejemplo de
foo
permiso de usuario :Esto significa que el usuario
foo
puede 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_Aliases
y 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/passwd
alguna 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