Capítulo 9: Administración de los sistemas operativos

Publicado por P. Ruiz en

9.2. Gestión de perfiles de usuarios y grupos locales. Contraseñas

Cuentas de usuario

Para un sistema operativo, una cuenta de usuario se identifica como la unión entre un nombre y una determinada información de autenticación por la que, quien la utiliza, demuestra que está autorizado para hacerlo. Esta información de autenticación suele ser una contraseña, pero podría sustituirse por otros métodos, como el DNI electrónico u otra tarjeta inteligente de este tipo, o incluso algunos más futuristas, como el uso de la huella dactilar, el iris, etc.

Cuenta de usuario

Autenticación en dos pasos

De un tiempo a esta parte, en muchos de los servicios que usamos a través de Internet, se ha hecho imprescindible la autenticación en dos pasos. La idea es muy sencilla: crear un mecanismo que aumente la seguridad comprobando la identidad del usuario por dos medios diferentes.

Para lograrlo, se utilizan dos medios diferentes:

  1. Algo que sepamos: Por ejemplo, un nombre de usuario y una contraseña.

  2. Algo que tengamos: Por ejemplo, un teléfono móvil, donde recibiremos un mensaje de texto con un código de acceso

De esa forma, aunque una persona no autorizada averigüe nuestro nombre de usuario y contraseña, aún necesitará nuestro teléfono para acceder a la cuenta… Y que éste se encuentre desbloqueado.

Como cabe esperar, el código de acceso recibido será de un solo uso y caducará pasado un tiempo, que dependerá del proveedor del servicio.

Normalmente, una cuenta de usuario está relacionada con una persona, que es quien se acredita para utilizar el ordenador, pero en ciertas situaciones, puede ser un programa en un ordenador, quien necesite autenticarse frente a un servidor para obtener un determinado recurso o servicio.

Cuando en la autenticación se utiliza una contraseña, ésta debe tener el grado de complejidad suficiente, debido a que cumple una doble misión: por un lado, impide el acceso a quien carece de la autorización necesaria y, por otro, relaciona dicho acceso con un individuo que, por lo tanto, será responsable del mismo. Por este motivo debe evitarse a toda costa el uso de cuentas de usuario que sean utilizadas por varias personas de manera indistinta.

Cuando sea necesario, se establecerá un protocolo que asegure una complejidad suficiente en las contraseñas de cada usuario. Por ejemplo, usando diversos tipos de caracteres (mayúsculas, minúsculas, signos y/o dígitos) y estableciendo una longitud mínima.

En general, los sistemas operativos suelen disponer de tres tipos diferentes de cuentas, con las que sus respectivos usuarios dispondrán de distintos niveles de control sobre el sistema. Son estas:

  • Cuentas estándar: En general, con ellas pueden desarrollarse tareas cotidianas que no sean de carácter administrativo.

  • Cuentas de administrador: Ofrecen control sobre todos los aspectos del sistema operativo, por lo que deben usarse con la cautela necesaria y sólo en las actividades para las que están pensadas.

  • Cuentas de invitado: Suelen utilizarse para permitir el uso a usuarios ocasionales. Sus capacidades están muy limitadas.

Las cuentas de usuario invitado pueden resultar muy útiles cuando utilizamos el ordenador en demostraciones o cuando se ofrece su uso a diferentes personas a lo largo del tiempo (hoteles, cafeterías, etc).

En otros contextos, cuando no sean necesarias, puede resultar conveniente inhabilitarlas por cuestiones de seguridad.

Por otro lado, el concepto de cuenta de usuario está asociado al concepto de sesión. Entendemos por sesión el tiempo consecutivo en el que una cuenta de usuario se encuentra activa en el sistema operativo. Por lo tanto, se prolonga desde que el usuario se autentica, momento en el que se dice que ha iniciado sesión, hasta que abandona el sistema, que se conoce como cierre de sesión.

Además, una cuenta de usuario tiene asociada una relación de permisos y privilegios.

Los privilegios definen lo que el usuario podrá hacer en el sistema una vez iniciada la sesión (por ejemplo, apagar el sistema o hacer copias de seguridad) mientras que los permisos definen dónde se puede acceder y bajo qué condiciones (por ejemplo, leer, escribir o ejecutar un determinado archivo o carpeta). Por lo tanto, un permiso está vinculado a un objeto, como un archivo, una carpeta o una impresora.

Es frecuente que los privilegios reciban también el nombre de derechos.

Cuando un privilegio entra en contradicción con un permiso, siempre prevalece el privilegio. Por ejemplo, un usuario con privilegios para hacer copias de seguridad, podrá copiar todos los archivos, aunque no tenga permisos de lectura sobre ellos.

Otro aspecto relacionado con las cuentas de usuario son los perfiles de usuario. En ellos se definen el aspecto y la configuración de cada usuario específico, desde el fondo de escritorio o el juego de iconos que utiliza, hasta los documentos con los que trabaja o los archivos que ha descargado.

Por lo tanto, cuando un usuario inicia sesión en una cuenta por primera vez, se encontrará un entorno de trabajo con todos los valores predeterminados, aunque el sistema haya estado usándose, por medio de otras cuentas, durante un tiempo prolongado y dichas cuentas sí hayan sido previamente personalizadas.

En general, según su ámbito, existen varios tipos de cuentas:

  • Cuentas locales: La autenticación corre a cargo del sistema operativo del ordenador en el que nos autenticamos y sólo nos facilita el acceso a recursos de éste.

    Para autenticarnos con los mismos datos en diferentes ordenadores, necesitaremos que en ellos se hayan creado previamente cuentas idénticas. Aun así, cada una de ellas facilitará el acceso a los recursos del ordenador en el que se encuentre.

  • Cuentas de usuario de red: Normalmente, la autenticación corre a cargo de un ordenador que actúa como servidor en la red y, cuando es satisfactoria, permite el acceso a recursos que pueden ofrecen desde diferentes ordenadores de dicha red.

    Por lo tanto, podremos utilizar la misma cuenta para acceder desde diferentes ordenadores que pertenezcan a la misma red.

  • Cuentas de usuario Microsoft: Es un caso particular de los sistemas operativos Windows, que asocian una cuenta de usuario con una dirección de e-mail y una contraseña, de forma que toda la información de la cuenta se almacena en los servidores de Microsoft, pudiendo compartir, de forma totalmente automática todas las configuraciones y preferencias en todos los equipos donde usemos esos mismos datos de autenticación.

    En realidad, podríamos pensar que es un caso particular de una cuenta de usuario de red.

Lógicamente, la administración de usuarios adquirirá más importancia cuantos más usuarios, con características diversas, usen el ordenador. En cualquier caso, en este documento nos referiremos, exclusivamente, a las cuentas de usuario locales.

Cuentas de usuario locales en Windows

Más arriba, hemos indicado que la mayoría de los sistemas operativos disponen de tres tipos de cuentas: Administrador, usuario e invitado. Sin embargo, en las versiones más recientes del sistema operativo de Microsoft, se ha producido una reinterpretación de este concepto, disponiendo de tres tipos de cuentas:

  • Cuentas de administrador.

  • Cuentas estándar.

  • Cuentas infantiles.

Si eres tú quien ha instalado el sistema operativo, Windows asume que tu vas a ser uno de sus administradores. Por lo tanto, podrás realizar cualquier cambio en su configuración, añadir nuevas cuentas de usuario, instalar o eliminar programas, consultar o modificar el contenido de cualquier archivo del equipo, instalar o configurar cualquier dispositivo hardware, etc.

Para instalar las aplicaciones que se ejecutan en la pantalla Inicio para ofrecer información al usuario, no necesitamos tener una cuenta de administrador.

Como es lógico, cualquier ordenador con Windows deberá disponer, como mínimo, de una cuenta de administración, aunque no pensemos realizar tareas administrativas frecuentemente.

Las cuentas estándar están pensadas para usuarios que no necesitan hacer ninguno de los cambios anteriores en el sistema. Desde ellas se puede llevar a cabo cualquier trabajo cotidiano, pero no podrán hacerse tareas administrativas.

Este tipo de cuentas son perfectas para el uso cotidiano de cualquier usuario, incluido el que realiza las tareas administrativas. Piensa que, si eres usuario administrador y ejecutas un programa, este puede hacer uso de tus privilegios para alterar el sistema. Por ejemplo, un virus que haya infectado al programa que estamos utilizando lo tendrá mucho más difícil para contagiar al resto del sistema cuando usamos una cuenta estándar que si lo hacemos con una cuenta de administrador.

Así pues, es recomendable que el usuario que realiza tareas administrativas disponga de dos cuentas de usuario: una para administrar el equipo y otra para su uso cotidiano.

Por otro lado, en Windows, para realizar tareas administrativas desde una cuenta de usuario estándar, sólo tenemos que conocer la contraseña de una cuenta de administrador.

Por su parte, las cuentas infantiles no son más que cuentas de usuario estándar a las que se les ha habilitado el control parental. Por ese motivo, este tipo de cuentas no aparecen representadas de forma individual en el Panel de control de Windows.

Para conocer algunos aspectos prácticos de la administración de cuentas en Windows, puedes revisar algunos de los artículos de SomeBooks.es. Por ejemplo, los siguientes:

Actividad 1: Cuentas de usuario en Windows

Utilizando una máquina virtual con Windows, realiza las siguientes tareas:

    • Crea una nueva cuenta de usuario desde la administración avanzada de cuentas. Usa tus propios datos para crearla.

    • A continuación, asígnale una imagen que te permita identificarla fácilmente.

    • Finalmente, comprueba cómo puedes deshabilitar la cuenta.

Cuentas de usuario locales en Ubuntu

En cierto modo, el tratamiento de las cuentas de usuario que hace Ubuntu es parecido al de Windows. En este sentido, una cuenta de usuario normal sólo permite realizar cambios sobre los aspectos particulares de dicha cuenta, como el fondo de escritorio, los favoritos de Internet, la configuración personal de algún programa, etc. Como es lógico, desde este tipo de cuentas no se pueden hacer cambios en la configuración del sistema, ni cambios que puedan afectar a otras cuentas de usuario.

Los cambios que afectan a todo el sistema o a cuentas de usuarios diferentes, hay que realizarlos desde una cuenta con privilegios de superusuario. En GNU/Linux, esto puede hacerse desde una cuenta llamada root, aunque también puede utilizarse cualquier otra cuenta que pertenezca al grupo de administradores (llamado root, como la cuenta de usuario). A este grupo pertenece la cuenta que creamos durante la instalación de Ubuntu.

Sin embargo, como medida de precaución, esta cuenta de usuario actúa como una cuenta no privilegiada durante la mayor parte del tiempo.

En Ubuntu, la cuenta root está deshabilitada de forma predeterminada. Es una forma de obligarnos a utilizar un usuario normal que forme parte del grupo de administradores, para las tareas administrativas. Así, estaremos seguros de que sólo se ejecuta con privilegios elevados aquella acción para la que el sistema nos solicite la contraseña.

Por ejemplo, cuando iniciemos la instalación de un programa desde el Centro de software de ubuntu, aparecerá una ventana que nos solicita nuestra contraseña. Esto significa que la instalación se realizará con privilegios administrativos. Cuando necesites ejecutar un comando en la terminal con dichos privilegios, bastará con anteponer la palabra sudo (también en este caso, el sistema nos solicita la contraseña)

En cualquier caso, si necesitas iniciar sesión con la cuenta root, basta con seguir las indicaciones del siguiente artículo:

Además, si lo que necesitamos es actuar como root en la línea de comandos durante un corto periodo de tiempo, no necesitamos hacer las modificaciones explicadas en el artículo anterior, bastará con recurrir al comando sudo -i. Cuando quieras volver a tu usuario normal, bastará con escribir el comando exit.

Por último, en muchas distribuciones GNU/Linux también disponemos de una cuenta Invitado, que permite utilizar el sistema sin disponer de una contraseña. Obviamente, este tipo de cuenta carece de privilegios y, aunque permite el uso de la mayoría de los programas, al finalizar la sesión de trabajo no se guardarán los archivos generados ni ningún otro cambio.

Esto también ha sido así en Ubuntu hasta la versión 17.10, que cambió el escritorio Unity por GNOME. Con él, también ha cambiado el componente que se encarga de administrar el inicio de sesión, sustituyendo LightDM con GDM (GNOME Display Manager) y éste impide el inicio de sesión con una cuenta Invitado por razones de seguridad.

Para conocer algunos aspectos prácticos de la administración de cuentas en Ubuntu, puedes revisar algunos de los artículos de SomeBooks.es. Por ejemplo, los siguientes:

Actividad 2: Cuentas de usuario en Ubuntu

Utilizando una máquina virtual con Ubuntu, realiza las siguientes tareas:

    • Crea una nueva cuenta de usuario usando tus propios datos.

    • Evita que se muestren los usuarios del sistema en la pantalla de autenticación.

    • Habilita la cuenta de root y comprueba que puedes iniciar sesión con ella.

Grupos

En el ámbito doméstico, es poco frecuente que necesitemos crear grupos de usuarios. Sin embargo, cuando nos encontramos en el ámbito de una empresa (aunque esta sea mediana, o incluso pequeña), podemos encontrarnos en situaciones donde necesitemos crear diferentes cuentas de usuario que tengan los mismos permisos y privilegios. En estos casos, podríamos encontrarnos en la situación de configurar una y otra vez las mismas características en las distintas cuentas.

En estas situaciones, la solución son los grupos de usuarios. La idea consiste en crear un grupo que sea el que dispone de las características comunes a distintas cuentas. Una vez creado el grupo, sólo tenemos que convertir a las cuentas de usuarios en miembros del grupo para que hereden todas las características que establecimos en éste.

Cuando un nuevo usuario deba compartir las características de los anteriores, bastará con hacerlo miembro del grupo. De igual forma, si un usuario debe dejar de disfrutar de una serie de permisos, bastará con eliminar su cuenta del conjunto de miembros del grupo.

Cuenta de grupo

Además, una cuenta de usuario puede ser miembro de más de un grupo, lo que hace muy sencillo agrupar los recursos con características comunes en grupos y controlar qué usuarios acceden a ellos

Es fácil comprender que, a medida que crezca la complejidad de la instalación informática a la que nos estemos refiriendo, los grupos se mostrarán más útiles. En este sentido, como en el caso de las cuentas de usuario, disponemos de dos tipos de cuentas de grupo según su ámbito de influencia:

  • Cuentas de grupo locales: Como puedes suponer, su ámbito será el del equipo en el que se hayan creado y sus miembros serán cuentas de usuario locales.

  • Cuentas de grupo de red: Su uso se orienta a las instalaciones de red, donde se ofrecen recursos a todos los equipos clientes de dicha red. Por lo tanto, dispondrán de permisos y privilegios relacionados con los recursos de compartidos en la red y sus miembros serán cuentas de usuario de red

En nuestro caso, nos centraremos, únicamente, en las cuentas de grupo locales.

Grupos locales en Windows

Una de las ventajas que aporta el uso de grupos locales en Windows es que, cuando instalamos el sistema, se crean de forma automática una serie de grupos con una configuración predeterminada que nos facilitará la asignación de privilegios de una forma rápida y segura.

En la siguiente tabla tenemos los grupos predeterminados que tenemos disponibles en Windows:

Grupos locales en Windows 8.1

En cualquier caso, si necesitas crear un nuevo grupo, sólo tienes que seguir las indicaciones de nuestro artículo:

Una vez creado un grupo, podemos hacer cosas tan interesantes como esta:

Grupos locales en Ubuntu

En GNU/Linux, todas las cuentas de usuario necesitan pertenecer a un grupo principal (también suele llamarse grupo primario). Para lograrlo, Ubuntu tiene un comportamiento particular que consiste en que, cada vez que creamos una cuenta de usuario, de forma transparente se crea también un nuevo grupo con el mismo nombre. Este grupo será el grupo primario de la cuenta de usuario que hemos creado.

Todos los grupos creados en Ubuntu, se almacenan dentro del archivo /etc/group. En su interior podemos encontrar una serie de grupos predeterminados, que se utilizan para la propia gestión del sistema. Por ejemplo, el uso de algunos servicios (como mail o news) o de dispositivos (como disk o cdrom). Después de éstos, se encontrarán los grupos que hayamos creado nosotros.

En la siguiente imagen puedes ver un contenido típico del archivo /etc/group:

contenido del archivo etc/group

Como se ve en la imagen, el carácter de dos puntos (:) actúa como separador entre los diferentes valores de cada grupo. Los datos incluidos son los siguientes, por orden de izquierda a derecha:

  • El nombre del grupo

  • La contraseña del grupo: Una admiración (!) significa que el grupo no tiene contraseña y una equis (x) significa que la contraseña se encuentra cifrada en el archivo etc/gshadow.

  • Un identificador de grupo único. Si es superior a 999 indica que se trata de un grupo creado por el usuario.

  • Por último, aparecerán los miembros del grupo para los que el grupo en cuestión no sea su grupo primario separados por comas

Como puedes deducir, a diferencia de Windows, Ubuntu no dispone de grupos para ofrecernos ciertas configuraciones predeterminadas para los usuarios. En cualquier caso, si necesitas crear un nuevo grupo, sólo tienes que seguir las indicaciones de nuestro artículo: