Red Hat Linux 7.0: The Official Red Hat Linux Reference Guide | ||
---|---|---|
Anterior | Capítulo 2. Administración del Sistema | Siguiente |
La gestión de usuarios y grupos ha sido tradicionalmente tediosa, pero Red Hat Linux posee unas pocas herramientas y convenciones que facilitan el manejo de usuarios y grupos.
Aunque se puede utilizar useradd para crear un nuevo usuario desde la línea de comandos, la forma más fácil de gestionar usuarios y grupos es a través de Linuxconf (véase Capítulo 3).
A continuación, se argumentará sobre la forma básica de gestionar usuarios y grupos.
En Tabla 2-1, puede econtrarse la lista de usuarios estándar creada por el proceso de instalación. (esencialmente el archivo /etc/passwd). El ID de Grupo ID (GID) en esta tabla es el primary group para el usuario. Véase la sección de nombre Grupos Privados de Usuarios para aprender sobre como se usan los grupos.
Tabla 2-1. Usuarios Estándar
Usuario | UID | GID | Directorio raíz | Shell |
---|---|---|---|---|
root | 0 | 0 | /root | /bin/bash |
bin | 1 | 1 | /bin | |
daemon | 2 | 2 | /sbin | |
adm | 3 | 4 | /var/adm | |
lp | 4 | 7 | /var/spool/lpd | |
sync | 5 | 0 | /sbin | /bin/sync |
shutdown | 6 | 0 | /sbin | /sbin/shutdown |
halt | 7 | 0 | /sbin | /sbin/halt |
8 | 12 | /var/spool/mail | ||
news | 9 | 13 | /var/spool/news | |
uucp | 10 | 14 | /var/spool/uucp | |
operator | 11 | 0 | /root | |
games | 12 | 100 | /usr/games | |
gopher | 13 | 30 | /usr/lib/gopher-data | |
ftp | 14 | 50 | /var/ftp | |
nobody | 99 | 99 | / |
En Tabla 2-2, puede encontrarse la lista de grupos estándar creada por el proceso de instalación (esencialmente el archivo /etc/group file).
Tabla 2-2. Grupos Estándar
Grupo | GID | Miembros |
---|---|---|
root | 0 | root |
bin | 1 | root, bin, daemon |
daemon | 2 | root, bin, daemon |
sys | 3 | root, bin, adm |
adm | 4 | root, adm, daemon |
tty | 5 | |
disk | 6 | root |
lp | 7 | daemon, lp |
mem | 8 | |
kmem | 9 | |
wheel | 10 | root |
12 | ||
news | 13 | news |
uucp | 14 | uucp |
man | 15 | |
games | 20 | |
gopher | 30 | |
dip | 40 | |
ftp | 50 | |
nobody | 99 | |
usuarios | 100 |
Red Hat Linux utiliza un esquema de grupo privado de usuarios (UPG, del inglés "User Private Group"), que permite que el manejo de grupos UNIX sea mucho más fácil. El esquema UPG no añade o cambia nada al modo tradicional UNIX de manejar grupos. Simplemente ofrece una nueva convención para ello. Cada vez que se crea un nuevo usuario, por defecto, se le asigna un único grupo. El esquema funciona de la siguiente manera:
Cada usuario tiene su propio grupo primario, del cual sólo él es miembro.
La máscara de permisos, umask, tradicional UNIX es 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 usuaria 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 modificar ficheros privados de otros usuarios. El valor de umask se asigna en /etc/profile.
Si se activa el bit setgid en un directorio (con chmod g+s directorio), los archivos creados en ese directorio tendrán su propio grupo puesto al 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 tradicionalment difícil, porque cuando alguien crea un archivo, este pertenece al grupo primario al que pertenezca el creador. Cuando una misma persona trabaja en multiples proyectos, la asignación adecuada de grupo a los ficheros adecuados se vuelve difícil. Con el esquema UPG, la asignación de grupos proyecto a proyecto es automática, lo que permite gestionar grupos de proyectos de manera simple.
Suponiendo un proyecto de nombre devel, con muchos usuarios editando los ficheros de devel en un directorio devel. Se crea un grupo devel, chgrp el directorio devel a devel, y se añaden todos los usuarios devel al grupo devel. Ahora, todos los usuarios devel podrán editar los archivos devel y crear nuevos archivos en el directorio devel, y estos archivos siempren tendrán su grupo devel. Y por tanto siempre serán editable por otros usuario devel.
Si se tienen múltiples proyectos como devel, y usuarios que trabajan en multiples 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.
Aunque UPG no es nuevo en Red Hat Linux 7.0, mucha gente tendrá preguntas sobre el, como por qué es UPG necesario. A continuación se presenta el concepto del esquema.
Para que un grupo de usuarios trabaje en un conjunto de ficheros en, por ejemplo, el directorio /usr/lib/emacs/site-lisp. Es razonable que unas cuantas personas acedan al directorio, pero no todo el mundo.
Se teclea:
chown -R root.emacs /usr/lib/emacs/site-lisp |
Para permitir a los usuarios crear archivos en el directorio se teclea:
chmod 775 /usr/lib/emacs/site-lisp |
Pero al crear un nuevo archivo, se lee asigna el grupo por defecto del usuario (usually users). Para evitar esto se teclea:
chmod 2775 /usr/lib/emacs/site-lisp |
El nuevo archivo necesita modo 644 para que otro usuario del grupo emacs pueda editarlo. Para esto se pone la umask por defecto a 002.
Todo esto funciona bien, salvo que si el grupo por defecto es "users", todos los archivos creados en el directorio raíz del usuario serán sobreescribibles por cualquier miembro del grupo "users" (habitualmente todos los usuarios).
Para solucionar esto, se hace que cada usuario tenga un "grupo privado" como grupo por defecto.
En este punto, al hacer la umask por defecto 002 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. Simplement se crea el grupo, se añaden los usuarios, y se ejecuta el comando chown y chmod en los directorios del grupo.