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.
- Introduzca su contraseña. La línea de comandos le pedirá que introduzca su contraseña.
- Establezca una nueva contraseña y luego confirme
- Siga las instrucciones (puede elegir las predeterminadas) y pulse «Y» para confirmar todos los detalles.
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.
- Edite el archivo. Después de ejecutar el comando, tendrá algo como esto;
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;
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;
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)
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 comandovisudo
. 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.