Linux Professional Institute Learning Logo.
Pasar al contenido principal
  • Inicio
    • Todos los recursos
    • LPI Learning Materials
    • Conviértete en colaborador
    • Publishing Partners
    • Conviértase en un Publishing Partner
    • Acerca de nosotros
    • FAQ
    • Colaboradores
    • Roadmap
    • Contáctenos
  • LPI.org
107.1 Lección 2
Tema 105: Shells y scripts
105.1 Personalizar y usar el entorno de shell
  • 105.1 Lección 1
  • 105.1 Lección 2
  • 105.1 Lección 3
105.2 Personalizar y escribir scripts sencillos
  • 105.2 Lección 1
  • 105.2 Lección 2
Tema 106: Interfaces de usuario y escritorios
106.1 Instalar y configurar X11
  • 106.1 Lección 1
106.2 Escritorios gráficos
  • 106.2 Lección 1
106.3 Accesibilidad
  • 106.3 Lección 1
Tema 107: Tareas administrativas
107.1 Administrar cuentas de usuario y de grupo y los archivos de sistema relacionados con ellas
  • 107.1 Lección 1
  • 107.1 Lección 2
107.2 Automatizar tareas administrativas del sistema mediante la programación de trabajos
  • 107.2 Lección 1
  • 107.2 Lección 2
107.3 Localización e internacionalización
  • 107.3 Lección 1
Tema 108: Servicios esenciales del sistema
108.1 Mantener la hora del sistema
  • 108.1 Lección 1
  • 108.1 Lección 2
108.2 Registros del sistema
  • 108.2 Lección 1
  • 108.2 Lección 2
108.3 Conceptos básicos del Agente de Transferencia de Correo
  • 108.3 Lección 1
108.4 Gestión de la impresión y de las impresoras
  • 108.4 Lección 1
Tema 109: Fundamentos de redes
109.1 Fundamentos de los protocolos de Internet
  • 109.1 Lección 1
  • 109.1 Lección 2
109.2 Configuración de red persistente
  • 109.2 Lección 1
  • 109.2 Lección 2
109.3 Resolución de problemas básicos de red
  • 109.3 Lección 1
  • 109.3 Lección 2
109.4 Configuración DNS en el lado del cliente
  • 109.4 Lección 1
Tema 110: Seguridad
110.1 Tareas de administración de seguridad
  • 110.1 Lección 1
110.2 Configuración de la seguridad del sistema
  • 110.2 Lección 1
110.3 Protección de datos mediante cifrado
  • 110.3 Lección 1
  • 110.3 Lección 2
How to get certified
  1. Tema 107: Tareas administrativas
  2. 107.1 Administrar cuentas de usuario y de grupo y los archivos de sistema relacionados con ellas
  3. 107.1 Lección 2

107.1 Lección 2

Certificación:

LPIC-1

Versión:

5.0

Tema:

107 Tareas administrativas

Objetivo:

107.1 Administrar cuentas de usuario y de grupo y los archivos de sistema relacionados con ellas

Lección:

1 de 2

Introducción

Las herramientas de línea de comando discutidas en la lección anterior y las aplicaciones gráficas proporcionadas por cada distribución que realizan las mismas tareas, actualizan una serie de archivos que almacenan información sobre los usuarios y los grupos.

Estos archivos se encuentran en el directorio /etc/ y son los siguientes:

/etc/passwd

Un archivo de siete campos delimitados por dos puntos que contienen información básica sobre los usuarios.

/etc/group

Un archivo de cuatro campos delimitados por dos puntos que contienen información básica sobre los grupos.

/etc/shadow

Un archivo de nueve campos delimitados por dos puntos que contienen contraseñas encriptadas de usuario.

/etc/gshadow

Un archivo de cuatro campos delimitados por dos puntos que contienen contraseñas de grupo encriptadas.

Aunque estos cuatro archivos están en texto plano, no deben ser editados directamente, sino siempre a través de las herramientas que proporciona la distribución que está utilizando.

/etc/passwd

Este es un archivo legible por el mundo que contiene una lista de usuarios, cada uno en una línea separada. Cada línea consiste en siete campos delimitados por dos puntos:

Nombre de usuario

El nombre utilizado cuando el usuario se conecta al sistema.

Contraseña

Se encuentra encriptada (o una x si se usa el archivo /etc/shadow).

ID de usuario (UID)

El número de identificación asignado al usuario en el sistema.

ID de grupo (GID)

El número de grupo primario del usuario en el sistema.

GECOS

Un campo de comentario opcional, que se utiliza para añadir información adicional sobre el usuario (como el nombre completo). El campo puede contener múltiples entradas separadas por comas.

Home Directory

La ruta absoluta del directorio principal del usuario.

Shell

La ruta absoluta del programa que abre cuando el usuario se conecta al sistema (normalmente un shell interactivo como /bin/bash).

/etc/group

Este es un archivo legible por el mundo que contiene una lista de grupos, cada uno en una línea separada. Cada línea consiste en cuatro campos delimitados por dos puntos:

Nombre de grupo

El nombre de grupo.

Contraseña de grupo

La contraseña cifrada del grupo (o una x si se usa el archivo /etc/gshadow).

ID de grupo (GID)

El número de identificación asignado al grupo en el sistema.

Lista de miembros

Una lista delimitada por comas de los usuarios que pertenecen al grupo, excepto aquellos para los que esten en el grupo principal.

/etc/shadow

Se trata de un archivo legible sólo por root y por usuarios con privilegios de root que contiene contraseñas de usuario cifradas, cada una en una línea separada. Cada línea consiste en nueve campos delimitados por dos puntos:

Nombre de usuario

El nombre usado cuando el usuario se conecta al sistema.

Contraseña encriptada

La contraseña encriptada del usuario (si el valor comienza con !, la cuenta está bloqueada).

Fecha del último cambio de contraseña

La fecha del último cambio de contraseña, como número de días desde el 01/01/1970 (un valor de 0 significa que el usuario debe cambiar la contraseña la próxima vez que se conecte).

Edad mínima de la contraseña

El número mínimo de días después de un cambio de contraseña, que debe pasar antes de que el usuario pueda cambiar la contraseña de nuevo.

Edad máxima de la contraseña

El número máximo de días que debe pasar antes de que se requiera un cambio de contraseña.

Período de alerta de la contraseña

El número de días, antes de que la contraseña expire, durante los cuales se advierte al usuario que debe cambiarla.

Periodo de inactividad de la contraseña

El número de días después de que una contraseña expira, durante los cuales el usuario debe actualizarla. Después de este período, si el usuario no cambia la contraseña, la cuenta se desactivará.

Fecha de vencimiento de la cuenta

La fecha expresada como el número de días desde el 01/01/1970, en que la cuenta de usuario será desactivada (un campo vacío significa que la cuenta de usuario nunca expirará).

Un campo reservado

Un campo para un uso futuro.

/etc/gshadow

Se trata de un archivo legible sólo por root y por usuarios con privilegios de root que contiene contraseñas de grupo cifradas, cada una en una línea separada. Cada línea consiste en cuatro campos delimitados por dos puntos:

Nombre del grupo

El nombre del grupo.

Contraseña encriptada

La contraseña encriptada del grupo (se usa cuando un usuario, que no es miembro del grupo, quiere unirse al grupo usando el comando newgrp — si la contraseña comienza con !, nadie puede acceder al grupo con newgrp).

Administradores del Grupo

Una lista delimitada por comas de los administradores del grupo. Ellos pueden cambiar la contraseña del grupo y pueden agregar o quitar miembros del grupo con el comando gpasswd.

Miembros del grupo

Una lista delimitada por comas de los miembros del grupo.

Filtrar las bases de datos de contraseñas y grupos

Muy a menudo puede ser necesario revisar la información sobre los usuarios y grupos almacenados en estos cuatro archivos así como también buscar registros específicos. Para realizar esta tarea, puede utilizar el comando grep o alternativamente concatenar cat y grep.

# grep emma /etc/passwd
emma:x:1020:1020:User Emma:/home/emma:/bin/bash
# cat /etc/group | grep db-admin
db-admin:x:1050:grace,frank

Otra forma de acceder a estas bases de datos es usar el comando getent. En general, este comando muestra las entradas de las bases de datos soportadas por las bibliotecas Name Service Switch (NSS) y requiere el nombre de la base de datos y una clave de búsqueda. Si no se proporciona ningún argumento de clave, se muestran todas las entradas de la base de datos especificada (a menos que la base de datos no soporte la enumeración). De lo contrario, si se proporcionan uno o más argumentos clave, la base de datos se filtra en consecuencia.

# getent passwd emma
emma:x:1020:1020:User Emma:/home/emma:/bin/bash
# getent group db-admin
db-admin:x:1050:grace,frank

El comando getent no requiere la autoridad de la raíz; sólo necesitas poder leer la base de datos de la que quieres recuperar los registros.

Note

Recuerda que getent sólo puede acceder a las bases de datos configuradas en el archivo /etc/nsswitch.conf.

Ejercicios guiados

  1. Observe la siguiente salida y responda a las siguientes preguntas:

    # cat /etc/passwd | grep '\(root\|mail\|catherine\|kevin\)'
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:8:mail:/var/spool/mail:/sbin/nologin
    catherine:x:1030:1025:User Chaterine:/home/catherine:/bin/bash
    kevin:x:1040:1015:User Kevin:/home/kevin:/bin/bash
    # cat /etc/group | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:x:0:
    mail:x:8:
    db-admin:x:1015:emma,grace
    app-developer:x:1016:catherine,dave,christian
    # cat /etc/shadow | grep '\(root\|mail\|catherine\|kevin\)'
    root:$6$1u36Ipok$ljt8ooPMLewAhkQPf.lYgGopAB.jClTO6ljsdczxvkLPkpi/amgp.zyfAN680zrLLp2avvpdKA0llpssdfcPppOp:18015:0:99999:7:::
    mail:*:18015:0:99999:7:::
    catherine:$6$ABCD25jlld14hpPthEFGnnssEWw1234yioMpliABCdef1f3478kAfhhAfgbAMjY1/BAeeAsl/FeEdddKd12345g6kPACcik:18015:20:90:5:::
    kevin:$6$DEFGabc123WrLp223fsvp0ddx3dbA7pPPc4LMaa123u6Lp02Lpvm123456pyphhh5ps012vbArL245.PR1345kkA3Gas12P:18015:0:60:7:2::
    # cat /etc/gshadow | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:*::
    mail:*::
    db-admin:!:emma:emma,grace
    app-developer:!::catherine,dave,christian
    • ¿Cuál es el ID de usuario (UID) y el ID de grupo (GID) de root y catherine ?

    • ¿Cuál es el nombre del grupo primario de Kevin? ¿Hay otros miembros en este grupo?

    • ¿Cuál shell está asignado para el mail? ¿Qué significa?

    • ¿Quiénes son los miembros del grupo de app-developer? ¿Cuáles de estos miembros son los administradores del grupo y cuáles son los miembros ordinarios?

    • ¿Cuál es la duración mínima de la contraseña para catherine? ¿Y cuál es la duración máxima de la contraseña?

    • ¿Cuál es el período de inactividad de la contraseña para kevin?

  2. Por convención, ¿Qué identificaciones se asignan a las cuentas del sistema y cuáles a los usuarios ordinarios?

  3. ¿Cómo puede saber si una cuenta de usuario, que antes podía acceder al sistema, ahora se encuentra bloqueada? Supongamos que su sistema utiliza contraseñas en la sombra.

Ejercicios de exploración

  1. Crea una cuenta de usuario llamada christian usando el comando useradd -m e identifica su ID de usuario (UID), ID de grupo (GID) y el shell.

  2. Identifica el nombre del grupo primario de christian. ¿Qué puedes deducir?

  3. Usando el comando getent, revisa la información de la contraseña de la cuenta del usuario christian.

  4. Añade el grupo editor a los grupos secundarios de christian. Supongamos que este grupo ya contiene a Emma, Dave y Frank como miembros ordinarios. ¿Cómo puedes verificar que no hay administradores para este grupo?

  5. Ejecute el comando ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow y describa la salida que imprime en términos de permisos de archivo. ¿Cuál de estos cuatro archivos están con "shadow" por razones de seguridad? Supongamos que tu sistema utiliza contraseñas shadow.

Resumen

En esta lección aprendió:

  • La ubicación de los archivos que almacenan información sobre usuarios y grupos.

  • Administrar la información de usuarios y grupos almacenada en bases de datos de contraseñas y grupos.

  • Recuperar información de las bases de datos de contraseñas y grupos.

Los siguientes archivos y comandos fueron discutidos en esta lección:

/etc/passwd

El archivo que contiene información básica sobre los usuarios.

/etc/group

El archivo que contiene información básica sobre los grupos.

/etc/shadow

El archivo que contiene las contraseñas encriptadas de los usuarios.

/etc/gshadow

El archivo que contiene las contraseñas encriptadas de un grupo .

getent

Filtrar las bases de datos de contraseñas y grupos.

Respuesta a los ejercicios guiados

  1. Observe la siguiente salida y responda a las siguientes preguntas:

    # cat /etc/passwd | grep '\(root\|mail\|catherine\|kevin\)'
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:8:mail:/var/spool/mail:/sbin/nologin
    catherine:x:1030:1025:User Chaterine:/home/catherine:/bin/bash
    kevin:x:1040:1015:User Kevin:/home/kevin:/bin/bash
    # cat /etc/group | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:x:0:
    mail:x:8:
    db-admin:x:1015:emma,grace
    app-developer:x:1016:catherine,dave,christian
    # cat /etc/shadow | grep '\(root\|mail\|catherine\|kevin\)'
    root:$6$1u36Ipok$ljt8ooPMLewAhkQPf.lYgGopAB.jClTO6ljsdczxvkLPkpi/amgp.zyfAN680zrLLp2avvpdKA0llpssdfcPppOp:18015:0:99999:7:::
    mail:*:18015:0:99999:7:::
    catherine:$6$ABCD25jlld14hpPthEFGnnssEWw1234yioMpliABCdef1f3478kAfhhAfgbAMjY1/BAeeAsl/FeEdddKd12345g6kPACcik:18015:20:90:5:::
    kevin:$6$DEFGabc123WrLp223fsvp0ddx3dbA7pPPc4LMaa123u6Lp02Lpvm123456pyphhh5ps012vbArL245.PR1345kkA3Gas12P:18015:0:60:7:2::
    # cat /etc/gshadow | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:*::
    mail:*::
    db-admin:!:emma:emma,grace
    app-developer:!::catherine,dave,christian
    • ¿Cuál es el ID de usuario (UID) y el ID de grupo (GID) de root y catherine ?

      El UID y GID de root son 0 y 0, mientras que el UID y GID de catherine son 1030 y 1025.

    • ¿Cuál es el nombre del grupo primario de Kevin? ¿Hay otros miembros en este grupo?

      El nombre del grupo es db-admin. También emma y grace están en este grupo.

    • ¿Cuál shell está asignado para el mail? ¿Qué significa?

      mail es una cuenta de usuario del sistema y su shell es /sbin/nologin. De hecho, las cuentas de usuario del sistema como mail, ftp, news y daemon se utilizan para realizar tareas administrativas y por lo tanto se debe evitar el inicio de sesión normal para estas cuentas. Por eso el shell está normalmente configurado como /sbin/nologin o /bin/false.

    • ¿Quiénes son los miembros del grupo de app-developer? ¿Cuáles de estos miembros son los administradores del grupo y cuáles son los miembros ordinarios?

      Los miembros son catherine, dave y christian. Todos son miembros ordinarios.

    • ¿Cuál es la duración mínima de la contraseña para catherine? ¿Y cuál es la duración máxima de la contraseña?

      La duración mínima de la contraseña es de 20 días, mientras que la duración máxima es de 90 días.

    • ¿Cuál es el período de inactividad de la contraseña para kevin?

      El período de inactividad de la contraseña es de 2 días. Durante este período kevin debe actualizar la contraseña, de lo contrario la cuenta será desactivada.

  2. Por convención, ¿Qué identificaciones se asignan a las cuentas del sistema y cuáles a los usuarios ordinarios?

    Las cuentas del sistema suelen tener UIDs inferiores a 100 o entre 500 y 1000, mientras que los usuarios ordinarios tienen UIDs a partir de 1000, aunque algunos sistemas heredados pueden empezar a numerar a 500. El usuario root tiene UID 0. Recuerde que los valores UID_MIN y UID_MAX en /etc/login.defs definen el rango de UIDs usados para la creación de usuarios ordinarios. Desde el punto de vista de LPI Linux Essentials y LPIC-1, las cuentas del sistema tienen UIDs menores que 1000 y los usuarios ordinarios tienen UIDs mayores que 1000.

  3. ¿Cómo puede saber si una cuenta de usuario, que antes podía acceder al sistema, ahora se encuentra bloqueada? Supongamos que su sistema utiliza contraseñas en la sombra.

    Cuando se utilizan contraseñas en la sombra, el segundo campo de /etc/passwd contiene el carácter x para cada cuenta de usuario, porque las contraseñas cifradas de los usuarios se almacenan en /etc/shadow. En concreto, la contraseña encriptada de una cuenta de usuario se almacena en el segundo campo de este archivo y, si comienza con un signo de exclamación, la cuenta está bloqueada.

Respuestas a los ejercicios de exploración

  1. Crea una cuenta de usuario llamada christian usando el comando useradd -m e identifica su ID de usuario (UID), ID de grupo (GID) y el shell.

    # useradd -m christian
    # cat /etc/passwd | grep christian
    christian:x:1050:1060::/home/christian:/bin/bash

    El UID y el GID de christian son 1050 y 1060 respectivamente (el tercer y cuarto campo en /etc/passwd). /bin/bash es el shell de esta cuenta de usuario (el séptimo campo en /etc/passwd).

  2. Identifica el nombre del grupo primario de christian. ¿Qué puedes deducir?

    # cat /etc/group | grep 1060
    christian:x:1060:

    El nombre del grupo primario de christian es christian (el primer campo en /etc/group). Por lo tanto, USERGROUPS_ENAB en /etc/login.defs está configurado para que useradd por defecto cree un grupo con el mismo nombre de la cuenta de usuario.

  3. Usando el comando getent, revisa la información de la contraseña de la cuenta del usuario christian.

    # getent shadow christian
    christian:!:18015:0:99999:7:::

    La cuenta de usuario christian no tiene la contraseña establecida y ahora está bloqueada (el segundo campo en /etc/shadow contiene un signo de exclamación). No hay una edad mínima y máxima para la contraseña de este usuario (el cuarto y quinto campo están fijados en 0 y 99999 días), mientras que el período de advertencia de la contraseña está fijado en 7 días (el sexto campo). Finalmente, no hay período de inactividad (el séptimo campo) y la cuenta nunca expira (el octavo campo).

  4. Añade el grupo editor a los grupos secundarios de christian. Supongamos que este grupo ya contiene a Emma, Dave y Frank como miembros ordinarios. ¿Cómo puedes verificar que no hay administradores para este grupo?

    # cat /etc/group | grep editor
    editor:x:1100:emma,dave,frank
    # usermod -a -G editor christian
    # cat /etc/group | grep editor
    editor:x:1100:emma,dave,frank,christian
    # cat /etc/gshadow | grep editor
    editor:!::emma,dave,frank,christian

    El tercer y cuarto campo en /etc/ghadow contienen los administradores y miembros ordinarios del grupo especifico. Por lo tanto, como el tercer campo está vacío para editor, no hay administradores para este grupo (emma, dave, frank y christian son todos miembros ordinarios).

  5. Ejecute el comando ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow y describa la salida que imprime en términos de permisos de archivo. ¿Cuál de estos cuatro archivos están con "shadow" por razones de seguridad? Supongamos que tu sistema utiliza contraseñas shadow.

    # ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow
    -rw-r--r-- 1 root root    853 mag  1 08:00 /etc/group
    -rw-r----- 1 root shadow 1203 mag  1 08:00 /etc/gshadow
    -rw-r--r-- 1 root root   1354 mag  1 08:00 /etc/passwd
    -rw-r----- 1 root shadow 1563 mag  1 08:00 /etc/shadow

    Los archivos /etc/passwd y /etc/group son legibles en todo el mundo y están ocultos por razones de seguridad. Cuando se usan las contraseñas shadow, puedes observar una x en el segundo campo de estos archivos, porque las contraseñas encriptadas de los usuarios y grupos se almacenan en /etc/shadow y /etc/gshadow respectivamente, que son legibles sólo por root. Incluso por los miembros pertenecientes al grupo shadow.

Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

Siguiente lección

107.2 Automatizar tareas administrativas del sistema mediante la programación de trabajos (107.2 Lección 1)

Leer la próxima lección

Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

LPI es una organización sin fines de lucro.

© 2023 Linux Professional Institute (LPI) es la organización global de certificación y apoyo académico para profesionales de código abierto. Con más de 200,000 titulares de certificación, es el primer y más grande organismo de certificación no comercial del mundo para Linux y Open Source. LPI cuenta con profesionales certificados en más de 180 países, realiza exámenes en varios idiomas y tiene cientos de socios de capacitación.

Nuestro propósito es hacer que las oportunidades económicas y creativas estén disponibles para todos, haciendo que el conocimiento de código abierto y la certificación sea universalmente accesible.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contáctenos
  • Política de privacidad y cookies

¿Detecta un error o desea ayudar a mejorar esta página? Por favor háznoslo saber.

© 1999–2023 The Linux Professional Institute Inc. Todos los derechos reservados.