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.

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

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:

Los grupos se dividen en dos:

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.

Leave a Reply

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