Como mencioné en una de las entregas anteriores, cada usuario debe pertenecer por lo menos a un grupo. Por defecto en la mayoría de distribuciones GNU/Linux y otros sistemas tipo Unix, como Red Hat y Ubuntu, cuando creamos un usuario nuevo, un nuevo grupo con el mismo nombre del usuario es creado también. Este nuevo usuario es el único miembro de dicho grupo.
La creación de un único grupo para cada usuario viene del esquema User Private Group (UPG). Este constituye un modelo flexible para manejar los permisos de los grupos.
En nuestro caso el primer usuario cconcepcion, automáticamente pertenece a un grupo llamado cconcepcion, el cual es conocido como grupo primario. Dicho usuario también puede pertenecer a otros grupos, y estos grupos adicionales se denominan grupos suplementarios.
Para conocer detalles sobre a cuáles grupos pertenece un usuario tenemos el comando id.
$ id cconcepcion
uid=1001(cconcepcion) gid=1001(cconcepcion) groups=1001(cconecpcion)
$ id root
uid=0(root) gid=0(root) groups=0(root)
Cada usuario y grupo de un sistema tiene un único UID y GID. Ningún usuario o grupo puede ser creado con el mismo UID o GID previamente existente. Linux asigna automáticamente dichos números para evitar conflictos.
La mayoría de las distribuciones reservan rangos de números para tipos de usuarios y grupos particulares. En Red Hat se reserva el rango 1 al 499 para los usuarios y grupos del sistema que ejecutan servicios o daemons. Ubuntu reserva el rango 1 al 999 para el mismo propósito. Por eso, si algunos de ustedes se ha dado cuenta, en Red Hat, Fedora y Centos el usuario creado durante la instalación tiene un UID y GID de 500. En el caso de Ubuntu el UID y GID del primer usuario es 1000.
Aunque no es recomendable manipular estos rangos, existe un fichero que nos lo permite hacer, y lo es /etc/login.defs. Sólo basta editar UID_MIN y UID_MAX para los UIDs y, GID_MIN y GID_MAX para los GIDs.
Por otra parte, existen dos métodos para agregar un usuario a un grupo o varios. Lo podemos hacer durante la creación del mismo con el comando useradd, o modificándolo después de creado con el comando usermod.
$ sudo useradd -m -c 'Claudio Concepcion' -G caja,ventas cconcepcion
La opción -G nos permite colocar una lista de grupos separados por coma, a los cuales será agregado el usuario cconcepcion, aparte de su grupo primario que es creado de forma automática y transparente. Debemos tener en cuenta que los grupos a los cuales agregaremos el usuario deben existir previamente.
En caso de que no existan, podemos crearlos, antes de ejecutar el comando anterior, con el comando groupadd.
$ sudo groupadd caja
$ sudo groupadd ventas
Finalmente, tenemos el comando usermod para agregar nuestro usuario a diferentes grupos adicionales.
$ sudo usermod -a -G admin cconcepcion
Este comando modifica usuarios existentes. Especificando la opción -a (para añadir), -G para especificar el o los grupos separados por coma. Con el comando anterior hemos agregado el usuario cconcepcion al grupo admin.
Cada comando que hemos visto hasta ahora tiene muchas otras opciones. Con usermod podemos modificar otros parámetros de los usuarios.
Puedes ver las páginas man de estos comandos desde tu terminal con el comando: man comando.
Ésta entrada me ha servido mucho para entender cómo funcionan los grupos, agradezco tu esfuerzo.
ResponderEliminarDios te bendiga.