6.4. Grupos de usuario privado

Red Hat Enterprise Linux utiliza un esquema de grupo privado de usuario (UPG), lo que hace más fácil de manejar los grupos de UNIX.

Se crea un UPG siempre que se añade un nuevo usuario al sistema. Un UPG tiene el mismo nombre que el usuario para el cual se crea y ese usuario es el único miembro de ese UPG.

Los UPGs hacen que sea más seguro configurar los privilegios por defecto para un nuevo archivo o directorio lo que permite a ambos, tanto el usuario como al grupo de ese usuario hacer modificaciones al archivo o directorio.

El parámetro que determina qué permisos son aplicados a un nuevo archivo o directorio es llamado un umask y se configura en el archivo /etc/bashrc. Tradicionalmente en sistemas UNIX, el umask es configurado a 022, lo que sólo permite al usuario que creó el archivo o directorio realizar modificaciones. Bajo este esquema, todos los demás usuarios incluyendo miembros del grupo del creador no tienen derecho a realizar ninguna modificación. Sin embargo, bajo el esquema UPG, esta "protección de grupo" no es necesaria puesto que cada usuario tiene su propio grupo privado.

6.4.1. Directorios de grupos

Muchas organizaciones de Tecnologías de Información prefieren crear un grupo para cada proyecto importante y luego asignar personas al grupo si estos necesitan acceso a los archivos de ese proyecto. Usando este esquema tradicional, el manejo de archivos ha sido difícil pues cuando alguien crea un archivo, este es asociado con el grupo primario al cual ellos pertenecen. Cuando una persona individual trabaja en múltiples proyectos, se hace difícil asociar los archivos correctos con el grupo correcto. Usando el esquema UPG, sin embargo, los grupos son automáticamente asignados a archivos creados dentro de un directorio con el bit setgid configurado. El bit setgid hace muy simple el manejo de proyectos de grupos que comparten un directorio común, pues cualquier archivo creado dentro del directorio es propiedad del grupo que posee el directorio.

Digamos, por ejemplo, que un grupo de personas trabajan con archivos en el directorio /usr/lib/emacs/site-lisp/. Algunas personas son de confianza como para modificar el directorio, pero ciertamente no todos. Entonces, primero cree un grupo emacs, como se muestra en el siguiente comando:

/usr/sbin/groupadd emacs

Para asociar los contenidos del directorio con el grupo emacs, escriba:

chown -R root.emacs /usr/lib/emacs/site-lisp

Ahora es posible añadir los usuarios adecuados al grupo con el comando gpasswd:

/usr/bin/gpasswd -a <username> emacs

Para permitir que los usuarios creen archivos dentro del directorio, utilice el comando siguiente:

chmod 775 /usr/lib/emacs/site-lisp

Cuando un usuario crea un nuevo archivo, se le asigna el grupo del grupo por defecto privado del usuario. Luego, configure el bit setgid, el cual asigna que todo lo que se cree en el directorio la misma permisología de grupo del directorio mismo (emacs). Use el comando siguiente:

chmod 2775 /usr/lib/emacs/site-lisp

En este punto, puesto que cada usuario tiene por defecto su umask en 002, todos los miembros del grupo emacs pueden crear y modificar archivos en el directorio /usr/lib/emacs/site-lisp/ sin que el administrador tenga que cambiar los permisos de los archivos cada vez que un usuario escriba nuevos archivos.