Creé un nuevo usuario adduser
pero cuando intenté sudo desde su cuenta obtuve xxxx * is not in the sudoers file. This incident will be reported.
.
Entonces comencé a alterar el visudo
comando...
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 sudo
para especificar qué comandos permitir.
root ALL=(ALL:ALL) ALL
Esta línea existe solo para permitir el uso de sudo
si 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 sudo
grupo 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 unsudoers
archivo 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, sudoers
en 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 sudoers
archivo:
Defaults:xxxx rootpw,timestamp_timeout=0
xxxx ALL=(ALL:ALL) ALL
luego para el usuario xxxx
(ysolopara ellos), el sudo
comando le pedirá una contraseña de root y le preguntarácada vezse utiliza el sudo
comando, en lugar del comportamiento predeterminado de permitir hasta 15 minutos de tiempo para usar el sudo
comando 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=0
opció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 sudo
para lo que quieran.
Pero tenga en cuenta queSi le dice a su usuario la contraseña de root, también podrá usarla con el su
comando., a menos que aplique restricciones no predeterminadas a su
. La forma clásica (y normalmente la única) de restringir su
es exigir que el usuario sea miembro de un grupo en particular, o de lo contrario no podrá utilizarlo su
en absoluto. Para aplicar esta restricción, edite /etc/pam.d/su
y 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 su
comando será utilizado root
únicamente por los miembros del grupo.