Grupos privados de usuarios

Red Hat Linux utiliza un esquema de grupo privado de usuario (UPG), que hace que los grupos UNIX sean más fáciles de usar. El esquema UPG no añade ni cambia nada en el modo estándar de UNIX en el manejo de grupos; simplemente ofrece una nueva convención. Siempre que cree un usuario nuevo, por defecto, éste pertenece a un único grupo. El esquema funciona de la siguiente manera:

Grupo de usuario privado

Cada usuario tiene un grupo primario; el usuario es el único miembro del grupo.

umask = 002

La máscara de permisos umask para sistemas UNIX es habitualmente de 022, lo que elimina de la posibilidad de que otros usuarios y otros miembros del grupo primario del usuario eliminen ficheros del usuario. Puesto que cada usuario tiene su propio grupo privado en el esquema UPG, esta "protección de grupo" no es necesaria. Una umask de 002 prohibirá a los usuarios modificar ficheros privados de otros usuarios. El valor de umask se asigna en /etc/profile

activar el bit setgid en un directorio

Si activa el bit setgid en un directorio (con chmod g+s directorio), los archivos creados en ese directorio tendrán su propio grupo en el grupo del directorio.

En la mayoría de las organizaciones de IT (del inglés Information Technologies) se crea un grupo para cada proyecto y se asigna a la gente a los grupos en los que deben estar. Gestionar los archivos ha sido tradicionalmente difícil, porque cuando alguien crea un archivo, éste pertenece al grupo primario al que pertenezca el creador. Cuando una misma persona trabaja en múltiples proyectos, es difícil asociar un grupo adecuado con los ficheros adecuados. Con el esquema UPG, la asignación de grupos a archivos creados en ese directorio es automática, lo que permite gestionar grupos de proyectos de manera simple.

Suponiendo que estemos ejecutanto un proyecto llamado devel, con muchos usuarios que modifican los ficheros devel en un directorio devel. Cree un grupo llamado devel, añada el directorio devel (chgrp) y todos los usuarios del proyecto a devel.

Puede añadir un usuario a un grupo usando Linuxconf (consulte la Official Red Hat Linux Customization Guide). Si prefiere usar la línea de comandos, utilice /usr/sbin/groupadd groupname command> para crear un grupo. El comando /usr/bin/gpasswd -a loginname groupname añadirá un loginname de usuario a un grupo. (Consulte groupadd y la páginas de manual gpasswd si necesita más información sobre sus opciones.) El archivo /etc/group contiene la información de grupo para su sistema.

Si ha creado el grupo devel, ha añadido usuarios al grupo devel, cambiado el grupo por el directorio devel en el grupo devel y activado el bit de setgid para el directorio devel, todos los usuarios devel serán capaces de conservar su estatus de grupo devel, para que otros usuarios devel sean capaces de modificarlos.

Si se tienen múltiples proyectos como devel y usuarios que trabajan en múltiples proyectos, estos usuarios nunca tendrán que cambiar su umask o grupo cuando cambien de proyecto. El bit setgid en el directorio principal de cada proyecto "selecciona" el grupo adecuado.

Puesto que el directorio raíz de cada usuario pertenece al usuario y a su grupo privado, es seguro dejar activado el bit setgid en el directorio raíz del usuario. Sin embargo, por defecto, los archivos se crean con el grupo primario del usuario, así que el bit setgid resulta redundante.

Concepto de grupo privado de usuario

Aunque UPG ha existido en Red Hat Linux durante algún tiempo, mucha gente todavía tiene preguntas, tales como, por qué es necesario UPG. A continuación observe el esquema.

Llegados a este punto, al hacer la umask 002 por defecto y dar a todo el mundo un grupo privado por defecto, se pueden crear fácilmente grupos de los que los usuarios pueden sacar provecho sin realizar ningún tipo de magia. Simplemente se crea el grupo y se añaden los usuarios, se ejecuta el comando chown y chmod en los directorios del grupo.