La administración de usuarios y grupos ha sido tradicionalmente una labor tediosa. Linux Red Hat tiene algunas herramientas y convenciones que convierten la administración de usuarios y grupos en una labor fácil, y más provechosa.
La manera más fácil de administrar usuarios y grupos es a través del módulo usuarios y grupos del panel de control.
También puede usar
adduser para la creación de nuevos usuarios a través de la línea de comandos.
Usuarios estándar
La tabla 81 muestra los usuarios estándar creados por el proceso de instalación (es fundamentalmente el fichero
/etc/passwd). La identificación de grupo (GID) en esta tabla es el
grupo primario del usuario.
|| Usuario || UID || GID || Directorio personal || 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 ||
|| mail || 8 || 12 || /var/spool/mail || ||
|| news || 9 || 13 || /var/spool/news || ||
|| uucp || 10 || 14 || /var/spool/uucp || ||
|| operator || 11 || 0 || /root || /bin/bash ||
|| games || 12 || 100 || /usr/local/games || ||
|| gopher || 13 || 30 || /usr/lib/gopher-data || ||
|| ftp || 14 || 50 || /usr/rhs/ftp || ||
|| nobody || 99 || 99 || /root || ||
Figura 81: Usuarios estándar
Grupos estándar
La tabla 82 muestra los grupos estándar tal y como los crea el proceso de instalación (es fundamentalmente el fichero
/etc/group).
|| 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 ||
|| mail || 12 || mail ||
|| news || 13 || news ||
|| uucp || 14 || uucp ||
|| man || 15 || ||
|| games || 20 || ||
|| gopher || 30 || ||
|| dip || 40 || ||
|| ftp || 50 || ftp ||
|| nobody || 99 || ||
|| users || 100 || ||
Figura 82: Grupos estándar
Grupos personales de usuario
Linux Red Hat usa un esquema de grupos personales de usuario (UPG, user private group), que hace muy fácil el uso de grupos de UNIX. El esquema UPG no añade ni cambia nada de la forma estandar de tratamiento de grupos de UNIX. Simplemente propone una nueva convención para su tratamiento. Siempre que ud. crea un nuevo usuario, éste tiene un grupo único. El esquema funciona de la forma siguiente:
Grupo personal de usuario Cada usuario tiene su grupo primario, del que es miembro único.
umask = 002 El umask tradicional de UNIX es 022, que impide a otros usuarios
y a otros miembros de un grupo primario de usuarios modificar ficheros de un usuario. Dado que cada usuario tiene su propio grupo personal de acuerdo con el esquema UPG, no es necesaria esta ``protección de grupo
. Un umask de 002 prohíbe a los usuarios modificar ficheros personales de otros usuarios. El umask se establece en /etc/profile. El bit SGID de los directorios Si ud. fija el bit SGID de un directorio (con chmod g+s directorio) los ficheros que se creen en este directorio tendrán el mismo grupo que el directorio.
En la mayoría de sitios informáticos les gusta crear un grupo para cada proyecto importante y asignar al grupo las personas necesarias. La administración de ficheros ha sido tradicionalmente difícil, porque cuando alguien crea un fichero éste es adoptado por el grupo primario al que pertenece. Cuando una persona trabaja en múltiples proyectos, asignar la propiedad de un fichero al grupo asociado con el proyecto adecuado se convierte en una tarea ardua. Con el esquema UPG, los ficheros son asignados automáticamente al grupo correspondiente, lo que hace muy simple la administración de un grupo de proyectos.
Digamos que ud. tiene un gran proyecto llamado devel, con mucha gente editando los ficheros devel en el directorio devel. Cree un grupo llamado devel, mediante `chgrp' asigne el directorio devel al grupo devel, y añada todos los usuarios de devel al grupo devel. Ahora, todos los usuarios de devel podrán editar los ficheros devel y crear otros nuevos en el directorio devel, y estos ficheros conservarán siempre su grupo devel. Por lo tanto, serán siempre editables por los otros usuarios de devel.
Si ud. tiene múltiples proyectos como devel, y usuarios que están trabajando en múltiples proyectos, estos usuarios nunca tendrán que cambiar su umask ni su grupo cuando se muevan de proyecto a proyecto. El bit SGID del directorio principal de cada proyecto ``elige el grupo adecuado.
Desde que el directorio personal de cada usuario es propiedad del usuario y su grupo personal, es seguro asignar el bit SGID al directorio personal. No obstante, por defecto, los ficheros son creados con el grupo primario del usuario, de manera que el bit SGID será redundante.
Fundamento de los grupos personales de usuario
Desde que nació el esquema UPG, mucha gente se pregunta por qué es necesario. La base es la siguiente:
- A Ud. le gustaría tener un grupo de trabajo en una serie de ficheros en el directorio /usr/lib/emacs/site-lisp, por ejemplo. Usted confía a unos cuantos a hacer modificaciones allí, pero seguramente no a todos.
- Entonces usted teclea: chown -R root.emacs /usr/lib/emacs/site-lisp
y añade los usuarios apropiados al grupo.
- Para permitir a los usuarios crear ficheros en el directorio, usted teclea: chmod 775 /usr/lib/emacs/site-lisp
- Pero cuando un usuario crea un fichero nuevo éste se asigna al grupo por defecto del usuario (normalmente users). Para evitarlo usted teclea chmod 2775 /usr/lib/emacs/site-lisp
lo que provoca que todo lo que se cree en el directorio pertenezca al grupo ``emacs.
- Pero los ficheros nuevos necesitan tener el modo 664 para los otros usuarios del grupo emacs para poderlos editar.Para esto, usted cambia el umask por defecto a 002.
- Bueno, todo esto funciona de maravilla, excepto que si su grupo es ``users cada nuevo fichero que usted cree en su directorio home será editable por todos los usuarios del grupo ``users (normalmente, todos los usuarios).
- Para arreglar esto, usted hace que cada usuario tenga un ``grupo personal como grupo por defecto.
Ahora, al cambiar el umask por defecto a 002 y asignar un grupo personal por defecto a todos los usuarios, usted puede configurar fácilmente grupos que los usuarios pueden aprovechar sin necesidad de hacer milagros. Basta con crear el grupo, añadir los usuarios, y hacer el
chown y
chmod en los directorios del grupo como se ha visto anteriormente.