Cuando corro sudo
como un usuario normal sin privilegios, me pide mi contraseña, no la contraseña de root. Eso a menudo es conveniente, pero reduce la cantidad de información que alguien tendría que tener para ejecutar comandos como root. Entonces, ¿cómo puedo sudo
pedir la contraseña de root en lugar de la contraseña del usuario que invoca?
Sé que se haría con una línea /etc/sudoers
, pero parece que nunca puedo analizar correctamente la gramática de BNF en la página del manual para averiguar exactamente qué escribir.
Respuestas:
Ok, aquí está de nuevo para que pueda establecer la marca de verificación.
En
/etc/sudoers
, agregue esta línea:para activar el indicador rootpw, haciendo que sudo solicite la contraseña de root.
fuente
visudo
comando en lugar de editar manualmente el/etc/sudoers
archivo.visudo
valida el archivo para asegurarse de que sea correcto antes de guardar, para que no quedeNecesitas encender la
rootpw
bandera.fuente
/etc/sudoers
para habilitar esta bandera?Sé que esta pregunta es antigua, pero es la pregunta más concisa que he encontrado para este caso de uso (que es un porcentaje menor, cierto, pero no obstante legítimo y útil en el escenario correcto).
Después de reunir todos los pasos de varias fuentes, incluidas las respuestas múltiples a esta pregunta, estos pasos funcionan en Ubuntu-Gnome 16.04 LTS:
sudo passwd
sudo visudo
Defaults rootpw
Solo una nota rápida: también quería asegurarme de que el usuario raíz no pudiera ser utilizado para iniciar sesión desde el inicio de sesión gráfico, y por eso estaba buscando formas de excluirlo. Aparentemente, el usuario root está excluido por defecto, y no se puede usar para iniciar sesión a través del inicio de sesión gráfico Gnome, ¡lo cual es algo muy bueno!
fuente
root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL
Permite sudo root para cada usuario que conoce la contraseña de root. Cambiar ingenuamente las dos últimas líneas a su soluciónDefaults rootpw
provoca un bloqueo desudo
. También debe agregar su usuario para que lesudoers
guste:myusername ALL=(ALL) ALL
o otorgar privilegios similares a un grupo y luego agregarmyusername
a ese grupo.Una configuración común que requiere la contraseña del objetivo (no lo que queremos):
La segunda línea se leería en voz alta como: "TODOS los usuarios en TODOS los hosts pueden hacerse pasar por (TODOS) usuarios cuando ejecutan TODOS los comandos". y los
Defaults targetpw
medios para que necesiten saber la contraseña del usuario al que suplantan para hacerlo.Cambiando ingenuamente esta configuración simple a:
no dejaría a ningún usuario o grupo con el privilegio de ejecutar comandos como otro usuario.
Una posibilidad de trabajo sería:
En inglés simple,
myuser
ahora tiene la capacidad de ejecutar TODOS los comandos como cualquier usuario en TODOS los hosts, siempre que se conozca la contraseña de root.Otra posibilidad de trabajo sería:
Cualquier miembro del
sudousers
grupo tendrá la capacidad de ejecutar TODOS los comandos como cualquier usuario en TODOS los hosts, siempre que se conozca la contraseña de root. Para permitirmyuser
ejecutar comandos sudo,sudousers
debería agregarse a sus grupos secundarios.fuente
Podrías apagar sudo y usar
su -c
.fuente
Utilizando
le permitirá ejecutar tantos comandos como desee en sucesión.
fuente
sudo
para solicitar la contraseña de root, esto aún permitiría a alguien obtener acceso de root presentando solo una contraseña (no la de root). Por lo tanto, realmente no aborda la preocupación de seguridad que provocó mi pregunta.