Antes de aprender cómo añadir usuarios como sudoers en Ubuntu, debemos entender cómo es probable que lleguemos hasta aquí. Por ejemplo, cuando quiera gestionar servicios o instalar o actualizar software en Ubuntu. ¿Alguna vez ha intentado ejecutar un comando para intentar algo de lo anterior y ha obtenido «Acceso denegado» como respuesta?

Tales instancias requerirán que ejecute comandos como root o superusuario. Sin embargo, este enfoque no es aconsejable por razones de seguridad. Ejecutar comandos como root puede causar problemas en su sistema si el usuario se equivoca con algunas configuraciones.

Ubuntu, una de las distribuciones de Linux más utilizadas, dispone de una función conocida como sudo que permite al usuario ejecutar comandos con privilegios avanzados en lugar de hacerlo como root.

Este artículo le explicará qué son los sudoers, por qué puede necesitarlos y cómo añadirlos a su sistema operativo Ubuntu.

¿Qué es Sudo/ Sudoers?

¿Por qué no utilizar el comando su o switch user? El comando switch user le permite iniciar sesión como root. Cuando lo ejecute, el sistema le pedirá la contraseña de root y podrá hacer lo que quiera. Puede añadir nuevos archivos/software y realizar todos los cambios. Sin embargo, puede olvidarse de cerrar la sesión como root, y un simple error puede borrar archivos importantes o todo el disco duro.

Sudo es la forma abreviada de «superusuario do». Estos usuarios ejecutan comandos con privilegios elevados, y pueden instalar y actualizar software o incluso cambiar la configuración del sistema. Un sudoer es un usuario que tiene tales derechos. Los usuarios sudo deben utilizar siempre la palabra clave «sudo» antes de ejecutar cualquier comando en Ubuntu. Sin embargo, no tienen que cerrar la sesión después de ejecutar sus comandos.

Si tiene varios usuarios en su sistema Ubuntu, no todos tendrán derechos sudo. Sin embargo, durante la instalación, el primer usuario que cree tendrá privilegios sudo por defecto. Sólo los usuarios del archivo o grupo sudoers pueden ejecutar comandos sudo.

  • Archivosudoers- un archivo de configuración que define qué usuarios pueden utilizar sudo y cómo.
  • Grupo sudoers- un grupo especial de usuarios con derechos sudo.

Escenarios en los que es necesario conceder a los usuarios acceso sudo

Puede permitir que ciertos usuarios ejecuten comandos sudo en su ordenador personal o de oficina. Puede permitirlos si

  • Tiene un equipo de administradores o desarrolladores que necesitan realizar tareas que requieren acceso de root. Por ejemplo, pueden necesitar instalar software o actualizar el sistema.
  • Quiere limitar el acceso de los usuarios a determinados archivos o directorios del sistema y no les da acceso total.
  • Tiene un usuario invitado para una tarea puntual que requiere acceso root. Por ejemplo, necesita que alguien instale y configure software especializado o actualice el sistema.

Importancia de conceder privilegios sudo a los usuarios

  • Mejore la seguridad de su sistema: No tiene por qué permitir que los usuarios inicien sesión en su sistema como usuarios root, lo que puede exponer su sistema a posibles amenazas y errores. Otorgar privilegios sudo les permite acceder sólo a lo que necesitan.
  • Puede personalizar los permisos: Añadir usuarios sudo le permite especificar qué comandos pueden ejecutar y cuándo pueden hacerlo. También puede especificar si estos usuarios necesitan una contraseña para ejecutar dichos comandos.
  • Facilita la supervisión de los usuarios: Puede consultar el archivo /var/log/auth.log para ver todos los comandos que los usuarios sudo ejecutan en su sistema.

Requisitos previos para añadir un usuario al archivo sudoers

  • Cuenta de usuario con privilegios sudo: Debe añadir un usuario a sudoers mientras está conectado a una cuenta con derechos sudo.
  • Nombre de usuario : Si tiene varios usuarios en su sistema, debe conocer el nombre de usuario del usuario a añadir al archivo o grupo sudoers.
  • Un editor de texto: Ubuntu utiliza Nano como editor por defecto. Sin embargo, puede cambiar a otros.

Añadir un usuario al archivo sudoers

Existen varios enfoques para añadir usuarios al archivo sudoers. Sin embargo, antes de eso, necesitamos crear un nuevo usuario.

Quiero crear un nuevo usuario llamado «titus». Puede seguir el procedimiento:

  • Acceda a una cuenta de usuario con privilegios sudo, y ejecute este comando: sudo adduser titus. Puede sustituir «titus» por el nombre del usuario que desea crear.
Sudo adduser
  • Introduzca su contraseña. La línea de comandos le pedirá que introduzca su contraseña.
  • Establezca una nueva contraseña y luego confirme
Sudo adduser password
  • Siga las instrucciones (puede elegir las predeterminadas) y pulse «Y» para confirmar todos los detalles.
Sudo adduser confirmation

Ya tiene un nuevo usuario.

Hay dos enfoques para añadir sudoers en Ubuntu

#1: Añadir el usuario al grupo sudo

Ahora podemos añadir el usuario que hemos creado al grupo sudo. Ejecute este comando cuando haya iniciado sesión como otro usuario sudo o como usuario root.

sudo usermod -aG sudo nombredeusuario

Reemplace el ‘nombre de usuario’ por el usuario que desea convertir en sudoer. En mi caso, el comando será

sudo usermod -aG sudo titus

Ahora ha añadido el nuevo usuario al grupo sudo.

#2: Agregar usuario al archivo sudoers

Ya hemos visto que un sistema Linux típico como Ubuntu tiene diferentes usuarios. A dichos usuarios se les puede permitir diferentes permisos de archivos y directorios Linux en el sistema. Por ejemplo, se puede permitir a los usuarios ‘leer’, ‘escribir’ o ‘ejecutar’ archivos en un sistema Unix.

Podemos definir qué usuarios pueden usar sudo y cómo definiendo esto en el archivo sudoers. Usamos esta ruta /etc/sudoers para localizar el archivo sudoers.

Asumiendo que ya tiene un usuario sin derechos sudo, estos son los pasos a seguir:

  • Abra su terminal
  • Utilice este comando para abrir el archivo
sudo visudo

Se le pedirá que introduzca su contraseña.

sudo
  • Edite el archivo. Después de ejecutar el comando, tendrá algo como esto;
Sudoers file

Tengo un usuario llamado ‘kamunya’ al que quiero dar todos los derechos sudo.

Localice la sección que tiene este aspecto

# Especificación de privilegios de usuario

root ALL=(ALL:ALL) ALL

Ahora puedo añadir una línea que permita a ‘kamunya’ todos los derechos sudo de la siguiente manera:

kamunya ALL=(ALL:ALL) ALL
  • Guarde y salga. Puede utilizar estos atajos Ctrl O para escribir los cambios y Ctrl X para salir.

Ahora tiene un nuevo usuario sudo que ha añadido a través del archivo sudoers. Si quisiera darle a mi usuario (kamunya) derechos específicos como actualizar el software sin requerir una contraseña, podría haber seguido los mismos pasos pero añadiendo esta línea:

kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade

Cómo comprobar si un usuario tiene derechos sudo

Puede que haya seguido todos estos pasos, pero aún no esté seguro de si los usuarios de su sistema son sudoers. Puede utilizar estos métodos para comprobarlo:

Utilice el comando sudo

Comprobaré si un usuario llamado ‘titus’ es un sudoer. El comando será

sudo -l -U titus

Puede sustituir ‘titus’ por el nombre de usuario del usuario que desea comprobar.

Si el usuario es un sudoer, obtendrá algo parecido a esto;

A sudoer

Si el usuario no tiene derechos sudo, es probable que obtenga este error, El usuario ‘nombredeusuario’ no tiene permiso para ejecutar sudo en ‘nombre de su máquina’.

Compruebe los grupos sudo

Cuando usted crea un usuario sudo, el sistema asigna automáticamente este usuario a un grupo que lleva el nombre de usuario que usted eligió. Por ejemplo, tengo un usuario sudo llamado ‘tk’. Puedo comprobar si este usuario pertenece a un grupo mediante este comando;

grupos tk

Puede sustituir ‘tk’ por su nombre de usuario.

Obtendrá algo similar a esto;

Sudo groups

Cómo eliminar un usuario sudo

Hay varios casos en los que puede querer borrar un usuario sudo. Por ejemplo, se equivocó al configurar el perfil, o el usuario que creó debía realizar una tarea puntual.

Puede utilizar la interfaz gráfica de usuario o la línea de comandos para eliminar un usuario de su sistema Ubuntu. Así es como puede eliminar un usuario utilizando la línea de comandos:

  • Ejecute este comando sudo deluser nombredeusuario, donde sustituirá ‘nombredeusuario’ por el perfil que desea eliminar. Este método eliminará el usuario, pero los archivos del usuario permanecerán.

He eliminado uno de mis usuarios (kamunya)

Delete sudo user

Si desea eliminar los archivos del usuario, ejecute el comando de la siguiente manera;

sudo deluser --remove-home nombre-de-usuario

En mi caso será

sudo deluser --remove-home kamunya

Mejores prácticas para administrar usuarios en el archivo sudoers

  • Utilice el comando visudo: Si decide añadir sudoers añadiéndolos al archivo sudoers, utilice siempre el comando visudo. Una vez hecho, compruebe que no haya erratas, guarde y salga del editor.
  • Utilice grupos: En lugar de añadir individuos como usuarios sudo, cada vez que quiera añadir nuevos usuarios, puede añadirlos a un grupo. Puede tener diferentes grupos como ‘administradores’ y ‘desarrolladores’ con diferentes derechos.
  • Documente el acceso: Mantenga un registro de a quién ha dado privilegios sudo y qué pueden hacer. Este enfoque facilita la selección de nuevos empleados en caso de que se produzcan cambios.
  • Supervise el acceso: Supervise siempre los accesos al sistema de los distintos usuarios que ha añadido como sudoers. Las revisiones frecuentes también le permitirán eliminar usuarios o modificar privilegios a medida que cambien las necesidades.

Conclusión

Ubuntu es uno de los sistemas operativos más utilizados por administradores y programadores. Sin embargo, debe asegurarse de otorgar a los usuarios adecuados los privilegios adecuados cuando accedan a su sistema.

Ahora ya sabe quiénes son los sudoers y los diferentes enfoques para añadirlos a Ubuntu. Estos usuarios ya no tendrán que acceder a su sistema con acceso total, sino con habilidades limitadas que le ayudarán a realizar el trabajo.

También puede explorar algunos comandos de rendimiento de Linux que debe conocer como administrador del sistema.