Un grupo es simplemente una lista de usuarios. Los grupos se identifican por su nombre de grupo y gid (ID de grupo). En FreeBSD (y en la mayoría de sistemas Unix), los dos factores que tiene en cuenta el núcleo para decidir si un proceso puede hacer algo es su ID de usuario y la lista de grupos a los que pertenece. A diferencia del ID de usuario, un proceso tiene una lista de grupos asociados. En ocasiones encontrarás menciones al "ID de grupo" de un usuario o de un proceso; la mayoría de las veces referirán simplemente al primero de los grupos de la lista.
La correspondencia entre nombres e IDs de grupo está en
/etc/group
. Se trata de un fichero de texto
plano con cuatro campos separados por el signo dos puntos. El
primer campo es el nombre de grupo, el segundo la contraseña
encriptada, el tercero el ID de grupo, y el cuarto la lista de
miembros separados por comas. Puede ser editado a mano sin
peligro (¡suponiendo, por supuesto, que no se cometan errores de
sintaxis!). Para una descripción más completa de la sintaxis, ver
la página de manual group(5).
Si no quieres editar /etc/group
manualmente, puedes usar el comando pw(8) para añadir y
modificar grupos. Por ejemplo, para añadir un grupo llamado
teamtwo
y luego confirmar que existe puedes
usar:
#
pw
groupadd teamtwo
#
pw
groupshow teamtwo
teamtwo:*:1100:El número 1100
en el ejemplo anterior es el
ID de grupo del grupo teamtwo
. Ahora mismo
teamtwo
no tiene miembros, y es por tanto
bastante inútil. Cambiemos eso invitando a
jru
a formar parte del grupo
teamtwo
.
#
pw
groupmod teamtwo
-M
jru
#
pw
groupshow teamtwo
teamtwo:*:1100:jruEl argumento de la opción -M
es una lista con
los usuarios que son miembros del grupo separados por comas.
Sabemos de secciones anteriores que el fichero de contraseñas
también contiene un grupo para cada usuario. El usuario es
automáticamente añadido a la lista de grupos por el sistema; no
constará como miembro cuando usemos el comando
groupshow
con pw(8), pero sí cuando la
información se consulte con id(1) u otra herramienta similar.
En otras palabras, pw(8) sólo manipula el fichero
/etc/group
; nunca tratará de leer datos
adicionales de /etc/passwd
.
%
id
jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)Como puedes ver, jru
es miembro de los
grupos jru
y
teamtwo
.
Para más información acerca de pw(8), consulta su página
de manual, y para más información acerca del formato de
/etc/group
, consulta la página de manual de
group(5).
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.