Concepto de Grupos y Usuarios en LINUX

En Linux y en otros sistemas operativos se cuenta con la administración de grupos y usuarios.

¿De que me sirve saber manipular usuarios y grupos si soy desarrollador?

Esa pregunta quizás nunca me la hice por un hecho de que soy curioso cuando quiero entender algo.

Ocurre que cuando desarrollamos una aplicación, no solo basta con programar su código, también tenemos que hacer un despliegue de la aplicación, configurar el servidor web, trazar una capa de seguridad, entre otros temas.

Un sysAdmin es el que se encarga de este tipo de tareas, sin embargo si creas aplicaciones y las quieres desplegar necesitas conocer mínimo como funcionan los usuarios y grupos

Ocurre lo siguiente en Linux muchos servicios hacen uso de su propio usuario, muy aparte ciertos comandos también están asociados a ciertos grupos en particular, si esto esta mal configurado, el servidor estará expuesto a ciber ataques. Muy aparte de que esto viene acompañado con los permisos, pero eso es otro tema.

Por lo mencionado, el conocer como se manejan los usuarios y grupos es muy importante.

Casos desastrosos

En mi experiencia me he topado con pocos casos donde veo y digo este sistema funciona de pura suerte y si no fue atacado, también.

  • No se configura un nuevo usuario y se usa el por defecto, para distribuciones basadas en debian es ubuntu.
  • No bloquear el usuario root para conexiones remotas.
  • Habilitar todos los permisos a rutas protegidas.
  • Desplegar aplicaciones con el comando sudo.
  • Remover el usuario web-server www-data por el usuario local.

Usuarios

Un usuario permite separar las responsabilidades en el sistema

De acuerdo a su configuracion y si el usuario va a ser administrado, este contara con una ubicacion en /home

>id
uid=*** gid=*** groups=*,*,...
UIDIdentificador unico del sistema, por lo general en distribuiciones basadas en debian inician con el N° 1000
GIDIndentificador unico del sistema del grupo, al crearse un usuario, este le crea un grupo
GROUPSLos grupos al cual pertenece el usuario

Archivos que contienen información necesaria de los usuarios

/etc/passwd

/etc/shadow

Estos solo pueden ser manipulados por un usuario administrador

passwd

contiene información del usuario

name:password:UID:GID:GECOS:directory:shell

Gecos hace referencia a la informacion adicional como telefono, nombre, etc.

Shell es la shell que usara el usuario, en ubuntu por defecto es bash

shadow

contiene la información de claves de los usuarios,

username:password

  • Si el campo password tiene un * este nunca a tenido una clave.
  • Si el campo password tiene un ! este se encuentra bloqueado.
mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
|      |      |   |   |   |||+-----------> 9. Unused
|      |      |   |   |   ||+------------> 8. Expiration date
|      |      |   |   |   |+-------------> 7. Inactivity period
|      |      |   |   |   +--------------> 6. Warning period
|      |      |   |   +------------------> 5. Maximum password age
|      |      |   +----------------------> 4. Minimum password age
|      |      +--------------------------> 3. Last password change
|      +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username

Grupos

Características a destacar de los grupos:

  • Permite agrupar a los usuarios
  • Permite el acceso tanto de lectura o ejecucion, a carpetos o archivos, esto solo a los usuarios que pertenezcan a dicho grupo
  • Son usados por servicios externos, ejemplo docker, este tiene su propio grupo y para usar el docker engine necesitas pertencer a dicho grupo.

Los grupos se dividen en dos:

  • Grupos primarios – Es el grupo que se crea al crear el usuario, solo puede haber uno, el identificador lo encontramos en el archivo /etc/passwd gid De igual forma tambien se puede verificar este en la ruta /etc/group
  • Grupos suplementarios – Grupos que son gestionados en el archivo /etc/group se puede añadir mas ussuarios a un grupo

Archivos que contienen la informacion de grupos

/etc/group gestion de grupos

/etc/gshadow claves, comunmente no se usa este fichero, solo paara casos especificos

Archivo group

GROUPNombre del grupo
PASSWDpor lo general no se usa
GIDidentificador unico
MEMBERSuno o mas usuarios

Bueno aca practicamente deje colocado lo que conozco sobre usuarios y grupos, en otro articulo comentare sobre los permisos, ya que este es un tema complementario a los grupos y usuarios. Si llegaste hasta aca gracias por leer este articulo.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *