Los usuarios en Linux – Fundamentos

Para poder acceder a un sistema Linux el usuario necesita una “identificación” y una “autenticación”. La identificación consiste en saber quién es quién para determinar los permisos o derechos de ese usuario que se conecta. Esta identificación se realiza mediante el “login”.
La autenticación consiste en demostrar quién es ese usuario mediante algo que sabe o tiene y que sólo lo sabe el sistema. En este caso es la contraseña.

Los usuarios

Un usuario es la asociación de un nombre con el que se conecta (el login) con un identificador único (UID) y al menos un grupo principal (GID)

UID = User ID, identificador de usuario. El UID identifica el usuario o cuenta asociada a la largo de la conexión. Se utiliza para controlar sus derechos y el de los procesos que ha iniciado.
GID = Group ID, identificador de grupo

Los UID y GID suelen ser únicos

El usuario dispone de los atributos básico siguientes:

– nombre de conexión, el Login
– una contraseña
– un UID
– un GID del grupo principal
– una descripción
– un directorio de conexión (el HOME)
– un comando de conexión o shell

Hay otros atributos disponibles mediante la utilización de la seguridad de las contraseñas en el fichero /etc/shadow que veremos en “Administrar usuarios en Linux”

Se suelen asociar los UID de un valor inferior a 100 a cuentas especiales o de sistemas. Por ejemplo el UID de root es el 0 (cero). Dependiendo de la distribución, los usuarios se empiezan a numerar a partir de UID 100, 500 ó 1000. Estos parámetros se pueden modificar en /etc/login.defs

Un login acepta la mayoría de los caracteres pero no debe empezar por una cifra. Es posible modificar la lista de los caracteres autorizados y su longitud y la complejidad mediante los mecanismos de autenticación PAM y el fichero /etc/login.defs

Los grupos

Los grupos también son números (GID). Cada usuario ha de pertenecer como mínimo a un grupo y puede pertenecer a varios, aunque habría que distinguir en este caso su grupo primario de los secundarios. El identificador de grupo GID siempre acompaña al usuario para controlar sus privilegios.

El comando id permite conocer la información esencial de un usuario: UID,GID y grupos secundarios

ejemplo:

@Aspire ~ $ id
uid=1000(jose) gid=1000(jose) grupos=1000(jose),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(lpadmin)
jose@Aspire ~ $

Las contraseñas

Las contraseñas permiten autenticar a los usuarios y deben ser lo bastante complejas para que no nos las descubran fácilmente e intuitivas para que las podemos recordar. Las contraseñas están cifradas (MD5, SHA, Blowfish,…).

Los ficheros

Los usuarios, contraseñas y grupos se almacenan en 3 ficheros

/etc/passwd (información sobre usuarios
/etc/group (información sobre grupos)
/etc/shadow (contraseñas cifradas)
/etc/gshadow (contraseñas cifradas de los grupos)

Fichero /etc/passwd : contiene la lista de los usuarios del sistema local y cualquier usuario puede leerlo. Cada línea representa un usuario y se compone de site campos separados por “:”

login : contraseña : UID : GID : comentario : directorio_usuario : shell

  • login: el login o nombre de usuario
  • contraseña: normalmente habrá una x, eso indica que la contraseña está en el fichero /etc/shadow. En distribuciones antiguas se colocaba aquí la contraseña cifrada pero por seguridad actualmente se almacenan en el fichero /etc/shadow
  • UID: el identificador de usuario
  • GID: el identificados de grupo principal
  • Comentario: o descripción. Se almacenan datos informativos
  • directorio_usuario: el directorio de trabajo del usuario y al que accede automáticamente cuando se valida y estará en /home
  • shell: el shell por defecto del usuario pero puede ser cualquier otro comando o incluso un comando que prohíba su conexión.

Fichero /etc/group : contiene la definición de los grupo de usuarios y en cada uno de ellos la lista de los usuarios de los cuales es el grupo secundario.
Cada línea representa un usuario y se compone de site campos separados por “:”

grupo : contraseña : GID : usuarios

  • grupo: nombre del grupo
  • contraseña: contraseña asociada al grupo. En la práctica se utiliza pocas veces. La explicación es la siguiente: un usuario tiene derecho a cambiar de grupo para coger de manera temporal un grupo secundario como grupo primario con el comando newgrp. En este caso, el administrador puede implementar una contraseña sobre el grupo para proteger el acceso a este grupo como grupo principal.
  • GID: el identificador del grupo
  • usuarios: los usuarios que forman parte del grupo

Fichero /etc/shadow es el complemento de /etc/passwd y contiene toda la información sobre la contraseña y su validez en el tiempo. Cada línea se compone de 9 campos separados por “:”

usuario : contraseña_cifrada : d1 : d2 : d3 : d4 : d5 : d6 : reservado

  • usuario: el login (el mismo que en /etc/passwd)
  • contraseña_cifrada: la contraseña cifrada. Los valores actuales para el cifrado de contraseñas son los siguientes: $1$ : MD5, $2a$ : Blowfish, $5 : SHA-256, $6 : SHA-512, otro : DES
  • d1: nº de días desde el 1 de enero de 1970 al último cambio de contraseña
  • d2: nº de días sin poder cambiar la contraseña (0 cero, se puede cambiar en cualquier momento)
  • d3: nº de días a partir de los cuales se debe cambiar la contraseña
  • d4: nº de días antes del vencimiento de la contraseña durante los cuales se debe avisar al usuario
  • d5: nº de días antes del vencimiento de la contraseña tras los cuales se desactiva la cuenta
  • d6 : nº de días desde el 1 de enero 1970 hasta el momento en el cual se desactivó la cuenta.
  • reservado: campo reservado

ejemplo:

jose:6$SaJHqwy9$qEJ1h0WH3cXsDroYJx6fKs86AwItxCRnlveLa6naI.DRAuyMQtzrAnqpFrnnD0ngOjplDh/BEDLi1CuvSIQ7e0:16140:0:99999:7:::

Ejemplo para conocer la fecha en función del 1/1/1970:

Aspire ~ # date –date «1 jan 1970 +16140 days»
mar mar 11 00:00:00 CET 2014
Aspire ~ #

 

El fichero /etc/gshadow es el equivalente al /etc/shadow pero la mayoría de las distribuciones linux no lo soportan por defecto y colocan las contraseñas en /etc/group

Deja un comentario

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

catorce − uno =