Tutoriales

7 formas de modificar los comandos Sudo en Linux

¿Sabes sudo verdad? Debes haberlo usado en algún momento.

Para la mayoría de los usuarios de Linux, es una herramienta increíble que les permite ejecutar cualquier comando como usuario root o cambiar a usuario root.

Pero esto es sólo una verdad a medias. Mira, sudo no es un comando absoluto. sudo es una herramienta que se puede configurar para satisfacer sus necesidades y preferencias.

Ubuntu, Debian y otras distribuciones vienen preconfiguradas con sudo, lo que les permite ejecutar cualquier comando como root. Esto lleva a muchos usuarios a creer que sudo es una especie de interruptor mágico que instantáneamente le otorga acceso de root.

Por ejemplo, un administrador del sistema puede configurarlo para que los usuarios que pertenecen a un determinado grupo «dev» solo puedan usar sudo para ejecutar comandos nginx. Estos usuarios no podrán usar sudo para ejecutar ningún otro comando ni cambiar a root.

Si esto te sorprende, es porque probablemente has estado usando sudo pero nunca pensaste detenidamente en su mecánica subyacente.

No explicaré cómo funciona Sudo en este tutorial. Lo guardaré para otro día.

En este artículo, aprenderá cómo ajustar diferentes aspectos de sudo. Algunas son útiles, otras son inútiles pero divertidas.

🚧

No empieces a seguir ciegamente todos los ajustes mencionados. Si lo hace mal, podría terminar con un sistema estropeado que no funcionará con sudo. En su mayor parte, simplemente lea y disfrute. Si decide probar algunos ajustes, haga una copia de seguridad de la configuración del sistema para que todo vuelva a la normalidad.

1. Utilice siempre visudo para editar la configuración de sudo

El comando sudo se configura de la siguiente manera /etc/sudoers documento.

Si bien puede editar este archivo utilizando su editor de texto basado en terminal favorito (como Micro, NeoVim, etc.), Definitivamente no Hazlo.

¿Por qué? Debido a que cualquier sintaxis incorrecta en este archivo provocará que el sistema falle, sudo no funcionará. Esto puede inutilizar su sistema Linux.

Úselo así:

sudo visudo

este visudo El comando tradicionalmente se abre. /etc/sudoers Archivos en el editor Vi. Ubuntu lo abrirá en Nano.

La ventaja aquí es visudo realiza una verificación de sintaxis cuando intenta guardar cambios. Esto garantiza que no estropee su configuración de sudo con una sintaxis incorrecta.

visudo comprueba la sintaxis antes de guardar los cambios en el archivo sudoers
visudo comprueba la sintaxis antes de guardar los cambios en el archivo sudoers

¡Está bien! Ahora puedes ver algunos cambios en la configuración de Sudo.

💡

Recomiendo hacer una copia de seguridad del archivo /etc/sudoers. Por lo tanto, si no está seguro de los cambios o desea volver a la configuración predeterminada de sudo, puede copiarla desde la copia de seguridad.

sudo cp /etc/sudoers /etc/sudoers.bak

2. Se muestran asteriscos al ingresar la contraseña usando sudo

Heredamos este comportamiento de UNIX. Cuando ingresa su contraseña de sudo en la terminal, no muestra nada. La falta de retroalimentación visual puede hacer que los nuevos usuarios de Linux piensen que su sistema no funciona.

Los ancianos dicen que esto es una característica de seguridad. Puede que este haya sido el caso durante el último siglo, pero no creo que debamos seguir haciéndolo. Esta es sólo mi opinión.

De todos modos, algunas distribuciones (como Linux Mint) modifican sudo para que muestre un asterisco al ingresar la contraseña.

Ahora bien, esto está más en consonancia con el comportamiento que vemos en todas partes.

Para mostrar los asteriscos usando sudo, ejecute sudo visudo y busca esta línea:

Defaults env_reset

Cámbielo a:

Defaults env_reset,pwfeedback
Se agregó la visualización del asterisco de la contraseña de sudo.

💡

En algunas distribuciones (por ejemplo, Arch) es posible que no encuentre la línea Defaults env_reset. Si este es el caso, simplemente agregue una nueva línea con el texto Valores predeterminados env_reset, pwfeedback

Ahora, si intentas usar sudo y te pide una contraseña, deberías ver asteriscos al ingresar la contraseña.

Se muestran asteriscos al ingresar la contraseña de sudo

Si nota algún problema con la no aceptación de contraseñas, incluso si son correctas en aplicaciones gráficas como el Centro de software, deshaga este cambio. Algunas publicaciones antiguas del foro mencionan esto. Pero aún no lo he encontrado.

3. Aumentar el tiempo de espera de la contraseña de sudo

Por lo tanto, la primera vez que uses sudo te pedirá tu contraseña. Sin embargo, para comandos sudo posteriores, no es necesario ingresar una contraseña dentro de un cierto período de tiempo.

Lo llamamos tiempo de espera de contraseña de sudo (o SPT, lo acabo de inventar. No lo llames así 😁).

Diferentes distribuciones tienen diferentes tiempos de espera. Podrían ser 5 minutos o 15 minutos.

Puede cambiar el comportamiento y establecer un tiempo de espera de contraseña de sudo de su elección.

Como se vio arriba, edite el archivo sudoer y busque la línea que contiene: Defaults env_reset y añadir timestamp_timeout=XX a esa línea para que se vea así:

Defaults        env_reset, timestamp_timeout=XX

donde XX es el tiempo de espera en minutos.

Si tiene otros parámetros, como la retroalimentación de asterisco que vio en la sección anterior, todos se pueden combinar:

Defaults        env_reset, timestamp_timeout=XX, pwfeedback

💡

Asimismo, puedes controlar los límites de reintento de contraseña. Utilice passwd_tries=N para cambiar la cantidad de veces que un usuario ingresa una contraseña incorrecta.

4. Utilice sudo sin contraseña

¡Está bien! Así que aumentaste el tiempo de espera de la contraseña de sudo (o SPT. ¡Guau! Todavía lo llamas así 😛).

No importa. Me refiero a quién le gusta ingresar su contraseña cada pocos minutos.

Agregar tiempos de espera es una cosa. Otra cosa es no usarlo todo.

Sí, lo leiste bien. Puedes usar sudo sin ingresar una contraseña.

Desde una perspectiva de seguridad, esto suena arriesgado, ¿verdad? Eso es cierto, pero hay algunas situaciones de la vida real en las que sería (más productivo) mejor usar sudo sin contraseña.

Por ejemplo, si administra varios servidores Linux de forma remota y crea usuarios sudo en ellos para evitar usar root todo el tiempo. El problema es que tienes demasiadas contraseñas. No desea utilizar la misma contraseña de sudo para todos los servidores.

En este caso, puede configurar solo el acceso SSH basado en clave al servidor y permitir sudo con una contraseña. De esta forma, solo los usuarios autorizados pueden acceder al servidor remoto y no es necesario recordar la contraseña de sudo.

Hago esto en un servidor de prueba implementado en DigitalOcean para probar herramientas y servicios de código abierto.

El beneficio es que esto se puede hacer por usuario.Abierto /etc/sudoer Archivo para editar:

sudo visudo

Luego agregue esta línea:

user_name ALL=(ALL) NOPASSWD:ALL

Por supuesto que necesitas reemplazar user_name Utilice el nombre de usuario real en la línea de arriba.

Guarde el archivo y disfrute de la vida sudo sin contraseña.

5. Cree un archivo de registro sudo separado

Siempre puede leer las entradas relacionadas con sudo en el syslog o en los registros de registro.

Sin embargo, si desea entradas separadas para sudo, puede crear un archivo de registro personalizado específicamente para sudo.

Digamos que quieres usar /var/sudo.log Archivado para este propósito. No es necesario crear nuevos archivos de registro de antemano. Si no existe, se creará para usted.

Utilice visudo para editar el archivo /etc/sudoers y agréguele las siguientes líneas:

Defaults  logfile="/var/log/sudo.log"

Guárdelo y podrá comenzar a ver qué comandos ejecutó sudo en este archivo, cuándo y por qué usuario:

Personalizar archivos de registro sudo

6. Solo permita que grupos de usuarios específicos usen sudo para ejecutar ciertos comandos

Se trata más bien de una solución avanzada utilizada por administradores de sistemas en entornos multiusuario donde personas de todos los departamentos trabajan en el mismo servidor.

Es posible que los desarrolladores necesiten ejecutar un servidor web o algún otro programa con privilegios de root, pero darles acceso completo a sudo sería un problema de seguridad.

Si bien esto se puede hacer a nivel de usuario, recomiendo hacerlo a nivel de grupo.Supongamos que crea un archivo llamado coders y les permites ejecutar comandos (o binarios) desde /var/www y /opt/bin/coders directorio e instrucciones inxi (binarias /usr/bin/inxi).

Este es un escenario hipotético. Por favor, no lo tomes palabra por palabra.

Ahora, edite el archivo sudoer. sudo visudo (Sí, ya lo sabes). Agregue las siguientes líneas:

%coders   ALL=(ALL:ALL) /var/www,/opt/bin/coders,/usr/bin/inxi

Si lo desea, puede agregar el parámetro NOPASSWD para poder usar sudo para ejecutar los comandos permitidos anteriormente sin contraseña.

Consulte otros artículos para obtener más información sobre TODO TODO TODO, ya que este artículo es más largo de lo habitual.

7. Verifique los derechos de acceso sudo del usuario.

¡Está bien! Esto es más un consejo que un ajuste.

¿Cómo sé si un usuario tiene acceso sudo? Dices, comprueba si son miembros del grupo sudo. Pero esto no está garantizado. Algunas distribuciones utilizan el nombre de la rueda en lugar de sudo.

Un mejor enfoque es utilizar la funcionalidad incorporada de sudo y ver qué acceso a sudo tiene el usuario:

sudo -l -U user_name

Mostrará si el usuario tiene acceso sudo a algunos o todos los comandos.

Como puede ver arriba, muestra que además del acceso sudo a todos los comandos, tengo un archivo de registro personalizado y comentarios de contraseña.

Si el usuario no tiene ningún acceso sudo, verá el siguiente resultado:

User prakash is not allowed to run sudo on this-that-server.

🎁 Bonificación: deja que sudo te insulte por probar contraseñas incorrectas

Este es el ajuste «inútil» que mencioné al principio de este artículo.

Supongo que debiste haber ingresado la contraseña incorrecta cuando usaste sudo en el pasado, ¿verdad?

Este pequeño ajuste permite que sudo te insulte aleatoriamente por ingresar una contraseña incorrecta.

usar sudo visudo Edite el archivo de configuración de Sudo y agréguele las siguientes líneas:

Defaults 	insults

Luego puede probar el cambio ingresando la contraseña incorrecta:

deja que sudo te insulte

Quizás te preguntes ¿a quién le gusta que lo insulten? Solo los fans pueden responder esta pregunta con imágenes y texto😇

¿Cómo haces sudo?

memes sudos

Sé que la personalización nunca termina. No obstante, sudo no es algo que los usuarios normales de Linux puedan personalizar.

Aun así, me gusta compartir estas cosas contigo porque es posible que encuentres algo nuevo y útil.

💬 Entonces, ¿descubriste algo nuevo? Por favor dímelo en los comentarios. ¿Tienes algún truco secreto de sudo? ¿Por qué no compartirlo con el resto de nosotros?

LEER  Reúna información fácilmente

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba