educación, informática y demás

GNU/Linux, XUbuntu 20.04, XUbuntu 22.04

Usuarios y grupos

Tipos de usuarios

En los sistemas operativos Unix-Like existen solo dos tipos de usuario: root y el resto.

El usuario root es el administrador del sistema, el único administrador. Es la cuenta de usuario que puede hacer cualquier cosa en el sistema operativo, sin restricciones. Por eso hay que ser cuidadoso cuando se utiliza la cuenta de usuario root y, de hecho, algunas distribuciones como Ubuntu no facilitan el inicio de sesión con este usuario en el sistema.

Para permitir administrar el sistema operativo este tipo de distribuciones más cautelosas, permiten a los usuarios administradores ejecutar comandos como root o, incluso, cambiarse al usuario root durante un tiempo exclusivamente para realizar tareas de administración. Para ello se utiliza el comando sudo. Este tipo de distribuciones, como Ubuntu y sus derivadas, tratan de evitar problemas de seguridad provocados por errores humanos cuando trabajamos con el usuario root que no tiene ningún tipo de restricciones en el sistema.

Sin embargo, otras distribuciones como Debian, si que permiten utilizar el usuario root para trabajar directamente en el sistema.

Solicitud de contraseña para la cuenta de usuario root

No obstante, el propio Debian, utiliza también el comando sudo y la configuración de cuentas de usuario administradores que pueden ejecutar comandos como root para administrar el sistema evitando ciertos despistes o errores humanos que puedan provocar que el sistema quede inestable al trabajar en el sistema con la cuenta root todo el tiempo.

Solicitud de nombre de usuario completo de la cuenta de usuario que se creará con privilegios de ejecución de comandos como root a través de sudo.
Nombre de usuario de la cuenta con privilegios de administración gracias al uso del comando sudo

¿Cómo saber qué tipo de usuario soy?

Está claro que sabemos qué usuario somos, hemos iniciado sesión en el sistema con el nombre de nuestro usuario, si no es root entonces somos un usuario normal del sistema.

No obstante, puede darse el caso de que estemos trabajando con varias terminales virtuales y varias terminales en ventana, con un usuario con privilegios de ejecución de comandos como root y no tengamos claro qué tipo de usuario somos (esto es raro, pero es una excusa para explicar cómo podemos saber qué tipo de usuario estamos utilizando).

El prompt del sistema nos muestra información útil acerca del usuario con el que estamos trabajando, la máquina dónde estamos trabajando, el directorio de trabajo o directorio actual y el tipo de usuario con el que estamos trabajando actualmente en dicha terminal.

  • Nombre del usuario actual. Muestra el nombre de la cuenta de usuario con la que estamos trabajando actualmente.
  • Separador @. El separador entre el nombre del usuario y el nombre del equipo o máquina es el carácter arroba @ que también se utiliza para indicar en o at en inglés. Así pues, podríamos leer esta cadena como el «usuario alumno en el equipo alumno-VirtualBox»
  • Nombre de la máquina. Muestra el nombre de la máquina o equipo en el que está trabajando actualmente el usuario.
  • Separador :. Se trata del carácter separador entre el usuario y el equipo y la ruta del directorio actual. Este carácter es :
  • Ruta del directorio actual. Muestra la ruta del directorio actual o directorio de trabajo en el que está trabajando el usuario en la máquina.
  • Tipo de usuario. SI aparece un $ indica que el usuario es un usuario normal del sistema. Si aparece una # indica que el usuario actual es el usuario root.

Ejecutando comandos como superusuario

Para ejecutar un comando desde la terminal tan solo tenemos que escribir el nombre del comando seguido por los parámetros que queramos utilizar.

Solo algunos usuarios, los que tengan permiso para hacerlo, pueden ejecutar comandos como superusuario o root. Se trata de los usuarios configurados para ello en la herramienta sudo.

Para ejecutar un comando como superusuario utilizamos el comandos sudo seguido del comando que queramos ejecutar con todos los parámetros necesarios para que realice la función que queremos.

Vamos a mostrar qué usuario somos en el sistema ejecutando el comando whoami, primero como usuario normal y después como root gracias al uso del comando sudo.

Si nos fijamos la salida de los comandos es distinta. Este comando muestra el usuario con el que estamos trabajando actualmente. En el primer caso la salida ha sido el nombre del usuario alumno, que coincide con la información que muestra el prompt del sistema.

En el segundo caso la salida ha sido root, que es el nombre del usuario administrador del sistema. Esto es así puesto que el comando whoami se ha ejecutado como root al utilizar el comando sudo.

Un detalle importante a tener en cuenta es que el comando sudo ha solicitado la contraseña del usuario alumno, no del usuario root, para poder ejecutar el comando whoami como root. Esto es así puesto que tiene que comprobar que realmente el usuario que está tratando de ejecutar el comando como administrador con el comando sudo es realmente el usuario alumno y no alguien que trate de suplantarlo, por ejemplo al haberse encontrado la sesión del usuario alumno abierta y sin vigilancia.

Una vez que comprueba que realmente es el usuario alumno, el comando sudo comprueba si dicho usuario tiene permiso para ejecutar el comando como root. Como es así, entonces ejecuta el comando whoami como root y cuando termina devuelve el control a la shell bash.

Si nos fijamos en el prompt del sistema, éste no ha cambiado en absoluto para mostrar que el tipo de usuario es root. Cuando se ha ejecutado el comando sudo, se ha hecho como alumno, tan solo se ha ejecutado como root el comando whoami, por eso no se refleja el tipo de usuario root en el prompt del sistema, puesto que no eramos root.

Ejecutando aplicaciones gráficas como superusuario

Para ejecutar una aplicación gráfica desde terminal tan solo tenemos que escribir la ruta del fichero ejecutable de la aplicación a ejecutar en la terminal. Si el directorio en el que está la aplicación está en el PATH del sistema, en los Unix-like también existe la variable de entorno PATH que veremos más adelante, entonces se podrá ejecutar tan solo escribiendo el nombre del comando o fichero ejecutable de la aplicación.

Por ejemplo, vamos a probar a abrir el gestor de archivos thunar que es el navegador de ficheros que viene por defecto en xubuntu 22.04 (entorno de escritorio xfce).

Ejecutando thunar desde la shell

Realmente no hemos hecho nada realmente excitante, puesto que podemos ejecutar thunar desde la interfaz gráfica con nuestro usuario.

No obstante, con lo que hemos aprendido hasta ahora, podemos ejecutar thunar como usuario root con lo que ello implica: podemos gestionar y navegar por los sistemas de ficheros conectados al sistema con todos los permisos de acceso disponibles.

Thunar ejecutado como root. El propio gestor de ficheros nos advierte de que estamos usando la cuenta de administrador y que podemos dañar el sistema

Si nos fijamos el directorio en el que nos encontramos es el directorio actual en el momento de ejecutar el programa /home/alumno, que es el directorio personal del usuario alumno.

Si hacemos clic en el lanzador que aparece en lugares con el icono de la casa, accederemos al directorio personal del usuario root, que no está dentro del directorio /home, dónde por defecto se almacenan los directorios personales de los usuarios del sistema, sino dentro del directorio raíz del sistema con el nombre del usuario root: /root.

Cambiando a superusuario por un tiempo

Aunque no es muy recomendable puede darse el caso en el que tengamos que realizar muchas tareas de administración y queramos cambiar al usuario root por un tiempo. Cuidado, esto no se recomienda, es más seguro utilizar el comando sudo, no obstante aquí enseñamos como cambiar a usuario root.

Para ello vamos a utilizar el comando su ejecutado con sudo.

Cuando hayamos terminado de administrar todo lo administrable volvemos al usuario alumno con el comando exit.

Cuentas de usuario

Grupos

Contraseñas

Dejar una respuesta