fbpx Seguridad básica en Linux: /etc/passwd y /etc/shadow | Certificação Linux

Seguridad básica en Linux: usuarios, /etc/passwd y /etc/shadow

📅 19/04/2020 ⏱ 7 min ✍️ Uira Ribeiro
Linuxcómo-hacer
Seguridad básica en Linux: usuarios, /etc/passwd y /etc/shadow
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

La administración de las cuentas de usuario en Linux es relativamente fácil. Las cuentas de usuario se guardan en un archivo especial llamado /etc/passwd. Las contraseñas se guardan en el /etc/shadow y los grupos de usuarios en el /etc/group.

Aprende mucho más con nuestro curso en línea de seguridad en Linux

Archivo de cuentas de usuario /etc/passwd

En este archivo se guardan los datos como login del usuario, contraseña, identificador, grupo al que pertenece, nombre del usuario, directorio home y shell.

El formato del passwd es:

Login:senha:UID:GID:comentário:home:shell

Cada elemento que constituye el contenido del archivo /etc/passwd está separado por dos puntos, en la siguiente secuencia:

Login: El login es la identificación que el usuario va a utilizar en el sistema. Este debe ser único, sin espacios y generalmente una abreviatura del nombre. Algunas aplicaciones necesitan tener un usuario propio que definirá los permisos de seguridad;

Contraseña: La x representa la contraseña del usuario. En los principios de Linux la contraseña encriptada se guardaba en este campo en lugar de la x. Pero como varias aplicaciones y utilitarios necesitan tener acceso al contenido del archivo passwd, este necesita tener permisos de lectura para todos. Luego se percibió que no era muy seguro, y la contraseña encriptada fueplaceda en otro archivo especial llamado shadow con permisos de lectura solamente para el root. Si la contraseña no contiene ningún carácter (vacío), el login podrá ser permitido sin preguntar la contraseña;

ID de usuario (User ID – UID): Este ID es numérico único para cada cuenta de usuario. Por definición el ID cero (0) es designado para el usuario root, que habilita sus poderes como administrador del sistema. Por convención los IDs de 1 a 99 son utilizados para uso administrativo y cuentas de usuario utilizadas por servicios del sistema;

ID de Grupo (Group ID – GID): Este es el ID numérico del grupo al cual el usuario pertenece. Los usuarios pueden pertenecer a grupos de trabajo para facilitar el compartimiento de información y gerencia de la seguridad del sistema. El Group ID - GID necesita estar registrado en el archivo de control de grupo /etc/group;

Nombre del usuario o comentario: Este campo alfanumérico acepta espacios y está reservado para el nombre del usuario o cualquier otra observación pertinente;

Directorio Home: El directorio home es el directorio estándar para la cuenta de usuario. Es en este directorio donde el dueño de la cuenta tiene privilegios especiales. En este campo del archivo passwd deberá ser colocado el camino completo del directorio home;

Shell: En este campo se designa el ejecutable del shell que cada usuario utiliza. El estándar es el Bourne Again Shell /bin/bash. Otros ejecutables pueden ser utilizados, como el /bin/sh, /bin/tcsh o cualquier otro programa que será ejecutado justo después del proceso de logon del usuario. Existen archivos especiales como el /bin/false. Este programa simplemente no hace nada, prohibiendo al usuario de la cuenta hacer login en el sistema de forma interactiva. Otra posibilidad es el archivo /sbin/nologin. Este programa tampoco permite que el usuario entre en el sistema de forma interactiva, pero muestra un mensaje que puede ser configurado en el archivo /etc/nologin.txt

Las cuentas de usuario que contienen un falso shell como el /bin/false o /sbin/nologin generalmente son usadas como cuentas especiales, utilizadas por programas, como, por ejemplo, para dar acceso limitado a los archivos. Por ejemplo, el servidor Web Apache utiliza la cuenta de usuario "apache" para delimitar en qué archivos el programa httpd puede ser capaz de escribir.

La cuenta del superusuario root tiene características especiales, como el UserID es cero y grupo cero. Esto confiere a la cuenta superpoderes y acceso ilimitado a todos los recursos del sistema.

Veamos un ejemplo de cuentas de usuario en /etc/passwd:

root:x:0:0:root:/root:/bin/bash apache:x:48:48:Apache:/var/www:/sbin/nologinopenvpn:x:219:497:OpenVPN:/etc/openvpn:/sbin/nologinzabbix:x:500:501::/home/zabbix:/bin/bash uira:x:501:501::/home/uira:/bin/bash

Archivo de contraseñas /etc/shadow

Anteriormente Linux mantenía las contraseñas encriptadas en el segundo campo del archivo /etc/passwd. Como varios programas necesitan acceso a las cuentas del sistema, las contraseñas fueron movidas al archivo /etc/shadow, que no tiene permiso de lectura para nadie.

Además, si todos tienen acceso al archivo con las contraseñas encriptadas, un ataque del tipo fuerza bruta puede ser realizado, generando combinaciones de palabras, números y símbolos que son encriptados y comparados con las contraseñas encriptadas, hasta que una comparación sea positiva. Por esto, el hecho de que solo el root tenga acceso al /etc/shadow dificulta este ataque.

$ ls -l passwd shadow-rw-r--r-- 1 root root 1573 out 15 02:12 passwd---------- 1 root root  760 out 15 02:12 shadow

Las contraseñas en Linux son encriptadas de una forma que no es posible la recuperación usando la ingeniería reversa.

Archivo de grupos /etc/group

Para facilitar la administración de los permisos de acceso a los recursos y archivos del sistema, Linux hace uso del concepto de grupos de trabajo. Cada usuario es parte de al menos un grupo de trabajo, definido en /etc/passwd a través del campo Group ID.

Los Grupos de Trabajo y sus respectivos Group IDs son definidos en el archivo /etc/group:

nomedogrupo:senha:GID:listademembros

Cada columna separada por dos puntos del archivo tiene el siguiente significado:

Nombre del grupo: El nombre del grupo debe ser único en el sistema.

Contraseña del Grupo: Al igual que las cuentas de usuario, los grupos también pueden hacer uso de contraseña para que un usuario pueda unirse a él. Las contraseñas de grupo fueron encriptadas y movidas al archivo /etc/gshadow. Este campo actualmente contiene una "x";

ID del grupo (Group ID o GID): Cada grupo necesita de un ID numérico entero positivo único. Este ID es referenciado en el archivo /etc/passwd;

Lista de Miembros: Los grupos de usuarios pueden contener uno o más miembros y un usuario puede ser miembro de más de un grupo. Este campo contiene una lista de logins de usuarios que forman parte de un grupo.

Algunas distribuciones como Redhat crean un grupo de usuario para cada usuario creado en el sistema. Otras distribuciones como SuSE utilizan el grupo users (GID 100) para todos los usuarios.

Veamos un ejemplo del /etc/group:

root:x:0:rootdaemon:x:10:wwwrun,sendmail,squidusers:x:500:uira,carla 

Tú que eres profesional de TI, de soporte o desarrollador, ¿ya pensaste en aprender Linux de verdad?

¿Y además, por qué no sacarte una certificación LPI Linux Essentials de paso?

¿Y mejor aún, con el mejor curso en línea para Linux?

[RICH_REVIEWS_SHOW category="CURSO" num="all"]

Haz como esas personas y crea tu cuenta ahora.

Aquí tienes todo para que tengas éxito en los exámenes de LPI

¿Quieres saber si una certificación vale la pena ? Descubre por qué los salarios son buenos, y, por qué las empresas están buscando profesionales de Linux.

Entenderás que los beneficios superan por goleada el sacrificio.

Y si ya te decidiste, mira nuestra Guía de Certificación.

Y si quieres saber dónde realizar los exámenes, consulta la lista de ciudades.

Si quieres saber el idioma de los exámenes, mira esta publicación.

Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, puedes acceder aquí.

¿Te gustó? Comparte

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp