Inicio wiki
Aula Virtual
 Administración de Sistemas Operativos
Inicio ASO Aula Virtual

Vistas
  •   4. Ficheros utilizados
De ASO

Siempre resulta muy útil conocer el funcionamiento interno del sistema operativo para poder tener un mayor control de las operaciones que estamos realizando. Para conocer el funcionamiento interno debemos conocer dos tipos de ficheros: aquellos ficheros que se utilizan para guardar la información de los usuarios y grupos, y los ficheros con los valores predeterminados que utiliza el sistema.

La información de las cuentas de usuario y grupos se encuentran en los siguientes ficheros:

  • /etc/passwd: en este fichero se encuentra un listado de las cuentas de usuario que están dados de alta en el sistema.
  • /etc/shadow: en este fichero se encuentran encriptadas las contraseñas y sus periodos de vigencia.
  • /etc/group: listado de grupos activos en el sistema.
  • /etc/gshadow: en este fichero se guardan los usuarios que están dados de alta dentro de cada grupo de usuarios.
  • /etc/default/useradd: entre otros datos, nos permite establecer el shell que se va utilizar por defecto, el directorio home que van a tener los usuarios, etc.
  • /etc/login.defs: las opciones más importantes que podemos establecer son los datos de expiración de las contraseñas, UID y GID mínimos y máximos, etc.


Contenido

/etc/passwd

En el fichero /etc/passwd se almacena los datos de las cuentas de los usuarios. A continuación mostramos el fragmento de código de un usuario:

julio:x:500:500::/home/julio:/bin/bash

Como podemos ver en el ejemplo anterior, para cada usuario se almacena la siguiente información:

  • Login
  • Contraseña
  • UID (Identificador de usuario)
  • GID (Identificador de grupo)
  • Directorio de trabajo
  • Shell de conexión


Una funcionalidad muy útil que permite modificar directamente los ficheros de configuración es permitir que dos usuarios compartan el mismo perfil. Por ejemplo, si queremos que el usuario julio y carlos compartan el mismo perfil hay que hacer que tengan el mismo UID, GID y directorio home.

julio:x:500:500::/home/julio:/bin/bash
carlos:x:500:500::/home/julio:/bin/bash


También se puede hacer que un usuario tenga los mismos permisos que el usuario root para ello tenemos que ponerle el UID=0 y GID=0.

julio:x:0:0::/home/julio:/bin/bash

/etc/shadow

Por motivos de seguridad, las contraseñas de los usuarios se almacenan en el fichero /etc/shadow y no en el fichero /etc/passwd. Por ejemplo, para el usuario anterior en el fichero /etc/password en vez de almacenar la contraseña se guarda el carácter x y en el fichero /etc/shadow se almacena la contraseña encriptada.


A continuación se muestra la estructura del fichero /etc/shadow:

nom:pass:changed:minlife:maxlife:warn:inactive:expired:unused


Los valores que se guardan en el fichero son:

  • nom: nombre del usuario
  • pass: contraseña encriptada
  • changed: fecha del último cambio del password
  • minlife: número de días que han de pasar para poder cambiar la contraseña
  • maxlife: número de días máximo que puede estar con la misma contraseña sin cambiarla.
  • warn: el número de días que será avisado antes de que la contraseña expire (maxlife) y tenga que cambiarla.
  • inactive: número de días después de que la contraseña expire. La cuenta se deshabilitará de forma automática si no ha sido cambiada la contraseña.
  • expired: fecha en la que la cuenta expira y se deshabilita de forma automática.


A continuación podemos ver un ejemplo de una entrada en el fichero /etc/shadow:

julio:$1$h18Yvp9g$ezMH4yDWjHIv/l0R8042i/:12757:0:99999:7:::


/etc/group

El fichero /etc/group almacena los datos de los grupos que han sido dados de alta en el sistema. A continuación vemos un fragmento del fichero:

root:x:0:root
julio:x:500:


Para cada grupo el sistema almacena el nombre del grupo y el identificador de grupo (GID).

Y por último, el fichero /etc/gshadow almacena los usuarios que pertenecen a cada grupo. A continuación podemos ver un fragmento del fichero:

root:!!:root,pepe


Al dar de alta un usuario si no especificamos ningún parámetro el sistema utiliza unos valores por defecto. El sistema guarda los valores por defecto en los siguientes ficheros:

  • /etc/default/useradd: entre otros datos, nos permite establecer el shell que se va utilizar por defecto, el directorio home que van a tener los usuarios, etc.
  • /etc/login.defs: las opciones más importantes que podemos establecer son los datos de expiración de las contraseñas, UID y GID mínimos y máximos, etc.


/etc/login.defs

# Password aging controls:
PASS_MAX_DAYS	99999
PASS_MIN_DAYS	0
PASS_MIN_LEN	5
PASS_WARN_AGE	7

# Min/max values for automatic uid selection in useradd
UID_MIN			  500
UID_MAX			60000 

# Min/max values for automatic gid selection in groupadd
GID_MIN			  500
GID_MAX			60000 

# If useradd should create home directories for users by default
# On RH systems, we do. This option is ORed with the -m flag on
# useradd command line.
CREATE_HOME	yes 


/etc/default/useradd

# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel


Libro Recomendado

ADMINISTRACIÓN DE SISTEMAS OPERATIVOS. CFGS
Ver fichaVer ficha
Comprar libroComprar