Linux Sudoers File Featured

Por qué y cómo editar su archivo Sudoers en Linux

[*]

Dentro de su sistema Linux, hay un archivo llamado «sudoers». Este es un archivo de texto que controla los niveles más profundos de su sistema de permisos. Permite o niega a los usuarios obtener acceso de superusuario y tiene algunas preferencias especiales para sudo.

¿Qué es el archivo sudoers?

El archivo sudoers es un archivo de texto que puede encontrar en el directorio “/etc” (obtenga más información sobre el directorio de Linux aquí). Su propósito principal es controlar cómo sudo funciona en su máquina y determina qué usuarios y grupos tienen la capacidad de ejecutarse con permiso de superusuario.

Además, el archivo sudoers también puede permitir que un usuario específico ejecute comandos como otro usuario en el sistema.

Sudoers Editar Www Datos Muestra Editar

Por ejemplo, si tiene un servidor web, puede configurar sudoers para que solo permita que otros usuarios ejecuten comandos como «www-data».

¿Cuándo necesito editar el archivo sudoers?

Cuando instala por primera vez un sistema Linux como Ubuntu, el instalador agregará automáticamente el primer usuario al archivo sudoers. Esto es para que pueda ejecutar inmediatamente tareas administrativas con el sudo comando después de la instalación.

Sudoers Edita el uso de Sudo por primera vez

Sin embargo, si crea una nueva cuenta de usuario, no tendrá el permiso de superusuario de forma predeterminada. Si necesita otorgarle permiso de superusuario, deberá editar el archivo sudoers y agregarle esta cuenta de usuario.

¿Cómo puedo editar sudoers?

Nunca edite el archivo sudoers en un editor de texto normal. Esto puede conducir a la edición simultánea y archivos dañados, lo que podría negar el acceso de cualquier administrador. Los sudoers deben editarse ejecutando visudo en Terminal, así:

Sudoers Editar Visudo

Tenga en cuenta que necesita usar sudo correr visudo. Esto abrirá el archivo sudoers en el editor de texto predeterminado en Terminal, que es Nano de forma predeterminada.

Sudoers Editar archivo de muestra de Sudoers

¿Qué puede hacer el cambio del archivo sudoers?

Como se discutió anteriormente, el trabajo principal del archivo sudoers es definir qué usuarios y grupos pueden usar sudo. Sin embargo, este archivo también contiene algunas opciones que le permitirán configurar el comportamiento de sudo.

Algunas de estas opciones incluyen la capacidad de cambiar la duración del tiempo de espera de la escalada de privilegios. También hay opciones para cambiar el editor de visudo predeterminado y el endurecimiento básico, como el uso de pty.

Cambiar el tiempo de espera de sudo

De manera predeterminada, ingresar su contraseña de sudo eleva sus permisos hasta que cierre el shell o salga. Esto puede ser inseguro y algunos prefieren ingresar su contraseña cada vez que usan sudo.

  1. Correr sudo visudo como se ha mencionado más arriba.
  2. Presione Alt + / para navegar hasta el final del documento. Si está utilizando Vi o Vim, presione Shift + G en su lugar.

Sudoers Editar archivo inferior de Sudoers

  1. Cree una nueva línea en la parte inferior del documento y agregue la siguiente línea:
Defaults timestamp_timeout=0

Opción de tiempo de espera de edición de Sudoers

Esto establecerá el tiempo de espera de sudo en cero segundos, por lo que tendrá permisos de sudo durante cero segundos después de ejecutar el primer comando. Si prefiere un intervalo diferente, ingrese ese valor en segundos.

También puede establecer el tiempo de espera en «-1», lo que le otorga un período de gracia infinito. No hagas eso. Es una forma práctica de destruir accidentalmente su sistema algún día.

  1. Presione Ctrl + o para guardar y Ctrl + x para salir. Por otro lado, si está utilizando Vi o Vim, puede presionar ESC y luego escribir :wq salir.

Limite quién puede usar Sudo y para qué

Si tiene varios usuarios que acceden al mismo sistema a través de shells, puede controlar su acceso configurando valores en sudo.

Crear una regla personalizada para los usuarios es increíblemente fácil. Una regla de permiso en el archivo sudoers se parece a esto:

username hostlist = (userlist) commandlist
  • los username El campo indica a qué usuario del sistema se aplicará esta regla.
  • los hostlist le dice a sudo que aplique esta regla en una lista de hosts del sistema que sudo conoce. De forma predeterminada, sudo solo reconoce la máquina local como su host.
  • los userlist le dice a sudo a qué cuenta de usuario puede sustituir el campo de nombre de usuario.
  • Por último, el commandlist es una lista separada por comas que indica qué programas en el sistema puede ejecutar el nombre de usuario como ese usuario.

Sabiendo eso, considere el siguiente ejemplo:

Esta línea permite que el usuario de ramces se sustituya como cualquier usuario y ejecute cualquier comando en cualquier host. Esto es porque ALL es un valor especial en el archivo sudoers que significa «sin restricciones».

Sudoers Editar Sudo peligroso Editar

Sin embargo, esto también significa que establecer esta regla para sus usuarios es peligroso. Esto se debe a que permitirá a un usuario ejecutar cualquier comando y acceder a cualquier archivo como cualquier usuario.

Como tal, una regla más apropiada y segura puede verse así:

En esto, el usuario de ramces aún puede ejecutarse como root pero no puede sustituirse a sí mismo como cualquier otro usuario.

Restricción de raíz en usuarios y grupos

Para tener más control, puede agregar una línea como la siguiente, que solo permitiría que el usuario «ramces» ejecute apt update.

ramces ALL=(root) /usr/bin/apt update

Sudoers Editar Sudo restringido

Poner un % frente al usuario, y definirá un grupo. La siguiente línea permitiría que todos los usuarios del grupo «admin» tuvieran permisos de nivel raíz. Este sería el grupo definido por los grupos de permisos de su sistema.

Endurecimiento de sudoers con use_pty

Otro uso del archivo sudoers es solo usar sudo en un entorno de espacio aislado restringido.

Esto puede ser increíblemente útil si está ejecutando Sudo en una máquina insegura que está constantemente conectada a Internet. Sabiendo eso, puede usar esta función yendo a su archivo «/etc/sudoers» e ingresando la siguiente línea de código:

Sudoers Editar Usar opción Pty

Usar sudo sin contraseña

Otra opción que puede habilitar en el archivo sudoers es la capacidad de ejecutar sudo sin contraseña. Esto puede ser especialmente útil si se encuentra ejecutando constantemente comandos de superusuario en su máquina.

Para habilitarlo, todo lo que necesita hacer es agregar una sola etiqueta en la regla de su usuario actual:

ramces ALL = (root) NOPASSWD: ALL

Sudoers Edita la opción Nopasswd

Si nota, la principal diferencia entre este y el ejemplo anterior es la adición de la NOPASSWD:.

Cambiar el editor de visudo

Por último, según la versión de Linux que esté ejecutando, hay dos formas principales de cambiar el editor.

Para Ubuntu, querrá ejecutar el siguiente comando de Terminal:

sudo update-alternatives --config editor

Verás algo como lo siguiente:

There are 4 choices for the alternative editor (providing /usr/bin/editor).
 
  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode
 
Press enter to keep the current choice[*], or type selection number: 3

Si quisiera seleccionar vim como su editor visudo desde el valor predeterminado de nano, presionaría su número de selección 3 luego presione Entrar.

Sudoers Editar Cambiar Editor

Para otras versiones de Linux, querrá agregar una nueva línea a su archivo «~/.bashrc» como se ve a continuación:

Luego guarde el archivo. Eso configuraría su editor visudo en vim.

¡Felicidades! Ahora sabe cómo realizar ediciones básicas en su archivo sudoers. No solo eso, ahora también tienes una idea básica de cómo funciona sudo. Así como opciones adicionales que puedes habilitar a través del archivo sudoers.

Si toda esta charla te hizo sentir curiosidad por Linux. Puede consultar este artículo donde hablamos sobre algunas de las mejores distribuciones de Linux-libre que puede instalar hoy.

Preguntas frecuentes

1. Recibí el error «(nombre de usuario) no está en el archivo sudoers». ¿Está rota mi instalación de Sudo?

De nada. Esto sucede siempre que el usuario que está utilizando no tiene una entrada de regla en el archivo sudoers. Esto podría ser que el usuario mismo no esté en sudoers o que no esté en ningún grupo que esté en sudoers.

Sabiendo eso, arreglar esto es relativamente fácil. Primero, debe iniciar sesión en su cuenta raíz. Puedes hacer esto escribiendo su y luego ingresando la contraseña de root. A partir de ahí, puede escribir sudo visudo para ingresar al archivo sudoers.

Una vez hecho esto, lo último que debe hacer es agregar su nombre de usuario al archivo sudoers. Por ejemplo, este es un extracto del archivo sudoers para una nueva cuenta llamada alice:

2. ¿Cuáles son algunos problemas con la creación de reglas de usuario personalizadas?

Uno de los problemas que puede encontrar al crear reglas personalizadas son los comodines. Estos son símbolos que puede usar para crear una regla que se puede aplicar a varios casos. Por ejemplo, esta es una regla que permite que el administrador del grupo ejecute cat en cualquier archivo en “/var” como root.

%admin ALL: (root) /bin/cat /var/*

El problema con esto es que este carácter comodín también puede sustituir a los espacios. Como tal, configurarlo de esta manera también podría permitir comandos como estos:

sudo cat /var/log.1 /home/bob/secret.txt

Por eso, es una buena práctica evitar el uso de comodines al crear reglas. En su lugar, puede utilizar su para tareas únicas o establezca los permisos del archivo para que sudo no sea necesario.

3. ¿Es posible evitar que sudo envíe el correo del sistema cada vez que ejecuto como root?

¡Sí! Puede evitar fácilmente que sudo envíe correo usando la etiqueta NOMAIL. Por ejemplo, esta es la entrada de regla para mi cuenta de usuario en el archivo sudoers:

ramces ALL: (root) NOMAIL: ALL

Credito de imagen: un héroe con circuito de computadora por 123RF

[*]
[*]
[*]
[*]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas