#4sysadmins

Inicio » GNU/Linux » archivos de configuración para usuarios y grupos linux

archivos de configuración para usuarios y grupos linux

Últimas Entradas

Follow #4sysadmins on WordPress.com

Cuando creamos un usuario o grupo desde la línea de comandos, automáticamente se crea una línea con información sobre este en una serie de archivos del sistemas. De la misma manera cuando los eliminamos, la línea correspondiente a este usuario o grupo será borrada del archivo. Podremos entonces crear o eliminar un usuario o grupo si escribimos o borramos nosotros mismo esta línea en los archivos pertinentes, pero para eso deberemos de saber que archivos son.

El archivo /etc/passwd y /etc/group

El archivo /etc/passwd contiene una línea por cada usuario que existe en el sistema al igual que el archivo /etc/group (este contiene un grupo por línea).

La línea que se crea en el archivo /etc/passwd tiene el siguiente formato:

usuario:password:uid:gid:info adicional:home:shell
 nebul4ck:x:1000:1000:Gonzalo Sánchez,695-235-526:/home/nebul4ck:/bin/bash

Existen varias particularidades para esta línea:

  • Podemos prescindir de la información adicional. Aún así deberemos de separar el campo con ::
  • El campo de la contraseña contiene una x. Esto indica que el sistema esta utilizando contraseñas shadow. Veremos de que trata esto a continuación. Podríamos inhabilitar la cuenta si añadimos un ‘!‘ antes de la x. Si probamos a acceder a la cuenta dará el siguiente error: Fallo de autenticación
  • El último campo (shell) sirve para ejecutar un comando cuando se inicia sesión, es por ello que invocamos a una consola pero igualmente pododríamos haber escrito cualquier otro comando, pero no se nos abriría ninguna consola. Por ejemplo si indicamos “shutdown -r” o “init 6” cuando accedamos a la cuenta, el sistema se reiniciará siempre y cuando el usuario tenga privilegios.

La línea del archivo /etc/group es más básica, solo contiene el nombre del grupo, el campo de contraseña y los usuarios que pertenecen a el.

grupo:password:usuario1,usuario2,...,usuarioN
 sistemas:x:nebul4ck

Igualmente vemos el campo password con una x.

Los archivos /etc/shadow y /etc/gshadow

Los archivos /etc/shadow y /etc/gshadow se encuentran en aquellos sistemas que utilizan contraseñas shadow. Esto no es mas que una forma de implementar seguridad en el sistema. Antiguamente la contraseña se encontraba en el mismo archivo /etc/passwd (para contraseñas de usuarios) o /etc/group (para contraseñas de grupos) esto tiene la vulnerabilidad que al ser archivos que pueden ser leídos por cualquier usuario, cualquiera podía hacerse con la contraseña de un usuario en cuestión de segundos. Con shadow se evitó esto de manera que solo el usuario root pudiese leer los archivos /etc/shadow y /etc/gshadow, archivos que contienen un formato de línea en la cual existe un campo que si que contiene la contraseña del usuario o grupo encriptada.

Formato de línea para /etc/shadow

usuario:password:último-cambio:cambiar-pass-no-antes-de:cambiar-contraseña:días-de-aviso:periodo-de-gracia:caducidad:indicador
nebul4ck:$8$km3ZmQpk9mJLlq3bVGU6ssPwa:15988:0:-1:7:-1:-1:
  • último-cambio: indica el día en el que se modificó la contraseña por última vez. Puede indicarse con una fecha o con el número de días transcurridos desde Enero del 1970
  • cambiar-pass-no-antes-de: Con este campo indicaremos cuando podremos volver a cambiar la contraseña. Si introducimos un 0 significará que podremos modificar la contraseña en cualquier momento. Si indicamos un 1 es que tendrá que transcurrir un día completo desde el último cambio para poder modificar la contraseña, si ponemos un 2 pues dos días, etc…
  • días-de-aviso: En este campo suele ser común indicar un 7 lo que nos avisará con 7 días de antelación antes de que la contraseña caduque y la cuenta quede inhabilitada.
  • periodo-de-gracia: Con este campo daremos un margen desde el día en el que se debería de haber cambiado la contraseña hasta el día en que definitivamente la cuenta quede desactivada por completo si antes no renovamos la contraseña.
  • caducidad: día en el que la cuenta quedará desactivada definitivamente.
  • Indicador: No suele utilizarse.

El formato para la línea de /etc/gshadow:

usuario:password:administradores:usuarios

Nota: Si estamos trabajando en un sistema que no implemente contraseñas shadow podremos hacer que empiece a utilizarla si empleamos el comando pwconv, y pwunconv para desactivar el uso de contraseñas shadow.

Modificando las características por defecto de las cuentas

Existen diferentes archivos de los que podremos hacer uso si necesitamos modificar los valores por defecto de cuentas de usuario, por ejemplo:

El archivo /etc/login.defs

Este archivo está presente en aquellos sistemas que implementan contraseñas shadow. Es útil si queremos modificar los valores utilizados por defecto a la hora de crear cuentas de usuario como por ejemplo:

  • Si vamos utilizar el comando chfn para modificar la información adicional de un usuario, podemos especificar en este archivo que información queremos modificar cuando usemos este comando: f (full name), r (Room number), w (work phone) o h (home phone).
  • Si queremos que el directorio home del usuario sea creado automáticamente al crear la cuenta
  • Si queremos que cuando un usuario acceda a su cuenta se utilice el valor de la variable PATH
  • Podemos limitar el número de inicio y fin de los UID y GID cuando creamos una cuenta. Por defecto cuando creamos la primera cuenta del sistema en la mayoría de las distribuciones se toma el número 1000 (en otras el 500). La segunda cuenta (a menos que especifiquemos lo contrario) tomará el número 1001 (o 501).

Nota: Podemos modificar multitud de parámetros por lo que es recomendable acudir a man login.defs para conocer todos.

El archivo /etc/default/useradd

Las herramientas nativas de UNIX para la creación y eliminación de usuarios son useradd y userdel respectivamente. También podremos encontrar en multitud de distribuciones GNU/Linux las herramientas adduser y deluser, pero los resultados de estas últimas pueden dar resultados diferentes de una distribución a otra.

Si vamos a utilizar la herramienta useradd (nativa) para crear usuarios, podremos utilizar el archivo /etc/default/useradd para setear ciertas variables que nos ayuden a la hora de generar la nueva cuenta, como por ejemplo indicar el directorio base sobre el que queremos que se cree el directorio home del usuario, el directorio skel (/etc/skel por defecto) que queremos utilizar al crear las cuentas*, la fecha en la que expirará las cuentas que creemos, si queremos crear la carpeta mail para el usuario, etc…

(*) Podemos utilizar un directorio skel para añadir ficheros y árbol de directorios que queremos que sean copiados en el directorio home del usuario al momento de ser creado.

Los archivos /etc/adduser.conf y /etc/deluser.conf

Estos dos archivos son parecidos a /etc/default/useradd solo que serán utilizados cuando la herramienta para crear o eliminar cuentas sean adduser o deluser.

Lo normal es que encontremos estos archivos bastante mas configurados que el anterior ya que estas herramientas están diseñadas para crear un usuario completo (directorio home, entorno, cola de mail, etc..) con tan solo introducir el comando adduser <nombre-de-usuario>

INFO: Con la herramienta getent podremos desplegar la información de los archivos /etc/passwd y /etc/group (entre otros).

$ getent passwd
$ getent group
Anuncios

Deja un comentario, Gracias!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: