Objetivo:
Aprender a consultar el fichero de grupos del sistema (/etc/group), utilizar el comando id para conocer las pertenencias de un usuario a distintos grupos, y crear nuevos grupos en Linux mediante el comando groupadd, asignando manualmente su identificador (GID).
Escenario:
- Herramientas: Terminal de Linux y un sistema Debian o basado en Debian.
- Conceptos clave: grupos, GID, pertenencia a grupos, superusuario, privilegios, creación de grupos, buenas prácticas de administración.
Instrucciones:
Fase 1: El fichero /etc/group
- Visualiza el contenido del fichero de grupos del sistema:
- Observa que, al igual que en
/etc/passwdy/etc/shadow, los campos están separados por dos puntos (:). - Identifica en una línea cualquiera los cuatro campos: nombre del grupo, clave (normalmente vacía), GID y lista opcional de usuarios miembros.
- Localiza el grupo cuyo GID coincide con el GID de tu propio usuario (el que aparece en
/etc/passwd).
cat /etc/group
Fase 2: El comando id
- Consulta la información de identificación de tu propio usuario:
- Identifica en la salida tu UID, tu GID principal y la lista completa de grupos secundarios a los que perteneces.
- Consulta ahora la misma información para otro usuario del sistema:
- Compara los grupos a los que pertenece ese usuario con los tuyos.
id
id nombre_usuario
Fase 3: Comprobar la relación entre usuario y grupo
- Visualiza de nuevo el fichero de usuarios y localiza tu línea:
- Anota el GID que aparece en tu línea de
/etc/passwd. - Comprueba en
/etc/groupqué grupo corresponde a ese GID y confirma que su nombre suele coincidir con el de tu propio nombre de usuario.
cat /etc/passwd
Fase 4: Creación de un grupo con GID automático
- Consulta la ayuda del comando de creación de grupos con privilegios de administrador:
- Crea un nuevo grupo llamado
desarrollo, dejando que el sistema le asigne automáticamente el GID: - Comprueba que el grupo se ha creado correctamente y observa qué GID le ha asignado el sistema:
sudo groupadd --help
sudo groupadd desarrollo
cat /etc/group
Fase 5: Creación de un grupo con GID manual
- Crea un segundo grupo llamado
testing, indicando esta vez manualmente su GID (un valor igual o superior a 3000, ya que los valores por debajo de 1000 están reservados para grupos del sistema): - Comprueba de nuevo el fichero de grupos y confirma que
testingtiene asignado el GID 3000:
sudo groupadd -g 3000 testing
cat /etc/group
Preguntas de reflexión:
- ¿Qué información contiene el fichero
/etc/group? - ¿Qué representa el GID de un grupo?
- ¿Para qué sirve el campo de usuarios miembros en
/etc/group? ¿Es obligatorio que aparezca algún usuario en ese campo? - ¿Qué información muestra el comando
idy en qué se diferencia de consultar directamente/etc/group? - ¿Qué relación existe entre el GID que aparece en
/etc/passwdy el fichero/etc/group? - ¿Por qué se recomienda crear primero los grupos y después los usuarios en Linux?
- ¿Qué diferencia hay entre
groupaddy comandos equivalentes propios de una distribución concreta, comoaddgroupen Ubuntu? - ¿Por qué es necesario anteponer
sudoal comandogroupadd? - ¿Por qué no es recomendable, en un entorno de producción, dejar que el sistema asigne automáticamente el GID de un nuevo grupo?
- ¿Por qué se recomienda utilizar valores de GID iguales o superiores a 3000 al crear grupos manualmente?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Qué información contiene el fichero /etc/group?
Contiene una línea por cada grupo del sistema, con el nombre del grupo, un campo de clave (normalmente vacío), el GID y, opcionalmente, la lista de usuarios que pertenecen a ese grupo como grupo secundario.
2. ¿Qué representa el GID de un grupo?
Es el identificador numérico único de ese grupo dentro del sistema, utilizado internamente por Linux para asociar usuarios y permisos a dicho grupo.
3. ¿Para qué sirve el campo de usuarios miembros?
Permite indicar qué usuarios pertenecen a ese grupo como grupo secundario. No es obligatorio que aparezca ningún usuario en ese campo: puede estar vacío y, aun así, el grupo puede tener miembros que lo tengan asignado como grupo principal desde /etc/passwd.
4. ¿Qué muestra el comando id?
Muestra de forma legible el UID del usuario, su GID principal y la lista completa de todos los grupos, principales y secundarios, a los que pertenece, sin tener que interpretar manualmente el contenido de /etc/group.
5. ¿Qué relación existe entre el GID de /etc/passwd y /etc/group?
El GID que aparece en la línea de un usuario en /etc/passwd indica su grupo principal, y ese mismo número debe coincidir con el GID de alguna de las líneas del fichero /etc/group, que es donde se define el nombre de ese grupo.
6. ¿Por qué crear primero los grupos y después los usuarios?
Porque la política habitual de administración consiste en definir primero la estructura de grupos de trabajo (por ejemplo, desarrolladores, sistemas, etc.) para después ir asociando los usuarios a esos grupos ya existentes, en lugar de improvisar la estructura sobre la marcha.
7. ¿Diferencia entre groupadd y comandos como addgroup?
groupadd es un comando estándar disponible en prácticamente todas las distribuciones de Linux. Comandos como addgroup son envoltorios (wrappers) que simplifican su uso, pero solo están disponibles en algunas distribuciones, como Ubuntu, no en todas.
8. ¿Por qué es necesario anteponer sudo?
Porque la creación de grupos modifica ficheros de configuración que afectan a todo el sistema, por lo que requiere privilegios de administrador.
9. ¿Por qué no dejar que el sistema asigne el GID automáticamente en producción?
Porque puede generar confusión o dificultar saber con qué criterio se creó cada grupo, especialmente en entornos con muchos grupos y administradores distintos. Es preferible asignar el GID de forma controlada y documentada.
10. ¿Por qué usar GID iguales o superiores a 3000?
Porque los valores por debajo de 1000 (o 500, según la distribución) están reservados para grupos del sistema, y utilizar un rango alto para los grupos creados manualmente evita conflictos con dichos grupos reservados.
Ficha de Laboratorio: Gestión de Grupos en Linux
Instrucciones de entrega:
- Rellena los campos y responde en este formulario desde tu navegador.
- Pulsa el botón de imprimir al final de la página.
- Selecciona "Guardar como PDF" en el diálogo de impresión.
- Entrega el archivo PDF en el aula virtual.
Alumno/a: Fecha:
Grupo:
Completa la ficha realizando las siguientes actividades:
- Visualiza el fichero /etc/group y localiza el grupo con tu mismo GID.
Escribe el comando utilizado:
Copia aquí la línea de tu grupo:
Explica qué campos aparecen en esa línea:
- Consulta con el comando id tu UID, tu GID principal y tus grupos secundarios.
Escribe el comando utilizado:
Copia aquí la salida obtenida:
Indica a cuántos grupos secundarios perteneces y para qué crees que sirve alguno de ellos:
- Comprueba la relación entre el GID de tu usuario en /etc/passwd y el fichero /etc/group.
GID que aparece en tu línea de /etc/passwd:
Nombre del grupo al que corresponde ese GID en /etc/group:
Explica la relación que has encontrado:
- Crea un grupo llamado "desarrollo" dejando que el sistema le asigne el GID automáticamente.
Escribe el comando utilizado:
Indica qué GID le ha asignado el sistema:
Explica cómo has comprobado que el grupo se creó correctamente:
- Crea un grupo llamado "testing" con GID 3000 asignado manualmente.
Escribe el comando utilizado:
Copia aquí la línea correspondiente en /etc/group tras crearlo:
Explica por qué se ha elegido un GID igual o superior a 3000:
- Reflexiona sobre el orden de creación de grupos y usuarios.
Explica, en tus propias palabras, por qué se recomienda crear primero los grupos y después los usuarios: