Cómo crear un usuario de Linux donde sudo solicita la contraseña de root y no el usuario actual

Cómo crear un usuario de Linux donde sudo solicita la contraseña de root y no el usuario actual

Creé un nuevo usuario adduserpero cuando intenté sudo desde su cuenta obtuve xxxx * is not in the sudoers file. This incident will be reported..

Entonces comencé a alterar el visudocomando...

Entiendo que la cuenta raíz tiene la siguiente configuración:

root    ALL=(ALL:ALL) ALL

Pero no quiero duplicar esto para mi nuevo usuario...


Quiero que mi usuario xxxx NO tenga acceso root, excepto cuando use sudo.
¡Cuando uso sudo, quiero que al usuario xxxx se le solicite la contraseña de root y no su propia contraseña!

Gracias


Usando Debian 10
VM, solo ssh

Respuesta1

Quiero que mi usuario xxxx NO tenga acceso de root, excepto cuando use sudo.

En realidad, este es el estado normal para los usuarios habituales: no tiene que hacer nada más que configurar sudopara especificar qué comandos permitir.

root    ALL=(ALL:ALL) ALL

Esta línea existe solo para permitir el uso de sudosi ya ha cambiado al usuario root. La línea importante que otorga permisos a usuarios no root es ésta:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

(En algunas distribuciones de Linux, el primer usuario normal generado durante la instalación del sistema operativo puede convertirse en miembro del sudogrupo y, por lo tanto, tener acceso raíz habilitado automáticamente. Esta es la excepción, no una opción predeterminada para todos los usuarios).

La forma básica de la especificación de permiso en el archivo sudoers es

<who>  <where>=(<as_who>) <what>
  • <who>especifica qué usuarios pueden utilizar esta entrada. Puede ser un usuario, un grupo (con el prefijo %) o un User_Alias ​​previamente definido (básicamente una abreviatura de una larga lista de usuarios y/o grupos) y algunas otras cosas.

  • <where>puede ser un nombre de host: restringe esta entrada a un sistema en particular. Puede ser útil en un entorno empresarial donde se coloca un sudoersarchivo estándar administrado centralmente en todos los hosts, pero a menudo esto se especifica como TODOS para evitar problemas en caso de que la resolución del nombre de host no funcione o el sistema esté mal configurado.

  • (<as_who>)define las cuentas de usuario con las que se pueden ejecutar los comandos. El valor predeterminado es root, pero también puede restringir que un usuario pueda ejecutar comandos con sudo solo en alguna cuenta de aplicación específica que no sea root, por ejemplo.

  • <what>es el comando (o comandos, separados por comas) a permitir.

También hay varias etiquetas y opciones, pero lo anterior es, sudoersen pocas palabras, la parte importante del archivo.

Cuando uso sudo, quiero que al usuario xxxx se le solicite la contraseña de root y no su propia contraseña.

Esto es posible y bastante fácil de hacer. Si agrega estas líneas a su sudoersarchivo:

Defaults:xxxx rootpw,timestamp_timeout=0
xxxx    ALL=(ALL:ALL) ALL

luego para el usuario xxxx(ysolopara ellos), el sudocomando le pedirá una contraseña de root y le preguntarácada vezse utiliza el sudocomando, en lugar del comportamiento predeterminado de permitir hasta 15 minutos de tiempo para usar el sudocomando sin volver a solicitar la contraseña.

Esto es importante si planea monitorear al usuario y escribir la contraseña de root usted mismo cuando este usuario la necesite; si pierde la timestamp_timeout=0opción, el usuario puede pedirle primero que ingrese la contraseña de root para alguna acción legítima y luego inventar alguna distracción. para usted dentro de los próximos 15 minutos, y durante ese tiempo podrán usarlo sudopara lo que quieran.

Pero tenga en cuenta queSi le dice a su usuario la contraseña de root, también podrá usarla con el sucomando., a menos que aplique restricciones no predeterminadas a su. La forma clásica (y normalmente la única) de restringir sues exigir que el usuario sea miembro de un grupo en particular, o de lo contrario no podrá utilizarlo suen absoluto. Para aplicar esta restricción, edite /etc/pam.d/suy busque esta parte cerca del principio:

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

Simplemente elimine el #desde el principio de la última línea y el sucomando será utilizado rootúnicamente por los miembros del grupo.

información relacionada