Los grupos de Linux son necesarios para facilitar la gestión y administración de los usuarios. El sistema Linux y Unix contiene grupos regulares (normales) y de sistema.
Los recursos de Linux (por ejemplo, archivos o directorios) se configuran con permisos de lectura, escritura o ejecución para el grupo asociado que tiene usuarios que comparten esos privilegios.
En este tutorial, aprendemos cómo crear grupos en Linux usando el comando groupadd.
Comando Groupadd
Uso operativo similar a Linux y Unix groupadd
Comando para crear grupos. Debe tener acceso de root o privilegio de usuario sudo para ejecutar groupadd
comando.
La siguiente línea muestra la sintaxis del comando groupadd:
groupadd [options] groupname
Cómo crear un grupo en Linux
Para crear un grupo usa groupadd
comando seguido del nombre del grupo.
El siguiente comando agregará un grupo de 'desarrolladores' al sistema y luego podrá agregar un usuario a este grupo.
# groupadd developers
La información del grupo se almacenará en el archivo '/etc/groups' y puede usar el comando grep para buscar el nombre del grupo.
Por ejemplo, busquemos el grupo 'desarrolladores' usando el comando grep en el archivo '/etc/group':
# grep developers /etc/group
developers:x:506:
Crear grupo con GID personalizado
En el tutorial anterior que vimos al crear un nuevo usuario, el sistema crea una identificación de usuario (UID) única para cada usuario. Asimismo, cuando creamos un nuevo grupo, se crea un número GID (Group ID).
Si desea proporcionar un número GID personalizado (específico), se puede proporcionar con -g
o --gid
opción.
El siguiente ejemplo muestra cómo crear un grupo llamado 'desarrolladores' con un GID específico (3456):
# groupadd -g 3456 developers
Para verificar, podemos listar el grupo y usar el comando grep para filtrar:
# grep developers /etc/group
developers:x:3456:
Crear un grupo de sistemas
El GID (ID de grupo) se asigna de forma predeterminada a grupos entre los valores "GID_MIN' y 'GID_MAX' definidos en el archivo login.defs (/etc/login.defs). Por lo general, el valor de GID_MIN es 500 o 1000 en la mayoría de los sistemas Linux .
Los GID debajo de 'GID_MIN' están reservados para grupos de sistemas (para operaciones como respaldo, mantenimiento o para otorgar acceso al hardware). Para crear un grupo con GID por debajo del valor 'GID_MIN', use -r
opción.
Por ejemplo, creemos un grupo 'devsys' usando -r
opción:
# groupadd -r devsys
Verifiquemos enumerando el grupo y podemos ver que el GID asignado es 102 (que es menos de 500).
# grep devsys /etc/group
devsys:x:102:
Creación de un grupo con GID no único
Si creamos un grupo con un número GID existente, el sistema no permitirá crear un grupo. Pero hay una opción para asignar un GID no único a un grupo.
El siguiente resultado muestra que el sistema no permitirá crear el grupo llamado 'devops' porque existe otro grupo con el número de GID 505.
# groupadd -g 505 devops
groupadd: GID 505 is not unique
Ahora vamos a crear un grupo con GID no único usando la opción -o.
Esta vez puede ver que se crea el grupo 'devops'.
# groupadd -o -g 505 devops
Cuando enumera los grupos, puede ver que existen dos grupos con el mismo número GID:
# grep 505 /etc/group
bill:x:505:
devops:x:505:
Cambiar las opciones predeterminadas
Para anular los valores predeterminados (especialmente GID_MIN y GID_MAX) definidos en el archivo '/etc/login.defs', puede usar -K
opción.
Por ejemplo, cree un grupo llamado 'codificadores' con valores predeterminados anuladores para 'GID_MIN' (establecido en 1500) y 'GID_MAX' (establecido en 1700):
# groupadd -K GID_MIN=1500 -K GID_MAX=1700 coders
El siguiente resultado confirma que el grupo 'codificadores' se creó con GID '1502' que establecemos entre los valores GID_MIN y GID_MAX:
# grep coders /etc/group
coders:x:1502:
Creando contraseña de grupo
Las contraseñas de grupo no se usan con mucha frecuencia por razones de seguridad, lo que obliga a las personas a compartir una sola contraseña cuando varias personas necesitan acceder a un grupo en particular.
Puedes usar -p
opción para crear una contraseña para un nuevo grupo.
En el siguiente comando creamos una contraseña 'contraseña123' para el nuevo grupo 'codificadores':
# groupadd -p password123 coders
Forzar el éxito del grupo existente
Como sabemos, si intentamos crear un grupo que ya existe, fallará.
Intentemos agregar un grupo existente 'javaproject' y ver cuál sería su estado de salida:
# groupadd javaproject
groupadd: group javaproject exists
# echo $?
9
Podemos ver que el comando había salido con un error. Sí, eso era obvio. Pero si desea salir del comando con un estado de éxito, cuando el grupo exista, use -f
o --force
opción.
En el primer comando he añadido -f
opción y puede ver que salió sin error. El segundo comando verifica el código de salida y confirma que fue exitoso.
# groupadd -f javaproject
# echo $?
0
Conclusión
En este tutorial, hemos aprendido cómo crear un grupo en Linux y las opciones del comando groupadd. El comando Groupadd debería funcionar en todas las distribuciones de Linux, incluidas Ubuntu, Debian, Centos y Mint.
Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios a continuación.