Tabla de Contenidos

Grupos y usuarios en Debian GNU/Linux

La mayoría de las distribuciones de GNU/Linux por defecto crean varios grupos de usuarios con permisos específicos para ciertas funciones. A continuación se incluye un listado de algunos grupos y usuarios que suelen encontrarse en Debian GNU/Linux. 1)

Listado de grupos

Grupo Función / Observaciones
root Superusuario: acceso pleno al sistema. Normalmente solo el usuario root debería pertenecer a este grupo.
adm Monitoreo de tareas del sistema. Permite utilizar xconsole y leer archivos de /var/log sin tener que utilizar los comandos su o sudo. Usualmente para administradores. El nombre del grupo proviene de que /var/log inicialmente fue /usr/adm y posteriormente /var/adm
audio Permite el acceso a los dispositivos de audio.
backup Permitir realizar salvas y restauras sin otorgar a un usuario premisos de root.
bin Presente por motivos de compatibilidad con aplicaciones obsoletas. Las nuevas aplicaciones no deben utilizar este grupo.
cdrom Permite el acceso a una unidad óptica.
daemon Servicios que necesitan escribir en el disco. Por motivos de seguridad, es preferible que cada servicio tenga su propio grupo.
dialout Acceso directo a los puertos de serie. Los miembros de este grupo pueden reconfigurar el modem, marcar a cualquier parte, etc.
dip Permite utilizar herramientas como pppd, pon y poff para realizar conexiones con otros sistemas, utilizando los archivos de configuración predefinidos en el directorio /etc/ppp/peers. El nombre del grupo signigica “Dialup IP”.
disk Acceso directo a los discos. Prácticamente equivalente al acceso que tiene root sobre los discos. Un usuario normalmente no debería pertenecer a este grupo, o podría hacer algo indebido como cat /dev/zero > /dev/sda.
fax Permite enviar o recibir faxes.
floppy Permite el acceso a una unidad de disquetes.
games Utilizado por algunos juegos para guardar las puntuaciones.
gdm Utilizado por GDM (Gnome Display Manager).
gnats Utilizado por gnats.
haldaemon Utilizado por la capa de abstracción de hardware.
halt Permite iniciar sesión para apagar el sistema.
irc Utilizado por los servicios IRC. (Se requiere un usuario estático por un bug en ircd)
klog Utilizado por klogd, la bitácora del kernel.
kmem Para programas que necesitan acceso directo de lectura de la memoria del sistema. Este grupo puede leer /dev/kmem y otros archivos similares. Es prácticamente una reliquia de BSD.
list Para gestión de listas de correo. Algunos programas de este tipo también utilizan un usuario con el mismo nombre.
lp Acceso directo al puerto paralelo. Tradicionalmente utilizan este grupo los servicios de impresión.
lpadmin Permite agregar, modificar y quitar impresoras de foomatic, cups y posiblemente otras bases de datos de impresoras.
mail Escritura en /var/mail. Utilizado por los MTA y MUA.
majordom Utilizado históricamente por Majordomo. No se instala en nuevos sistemas.
man Utilizado a veces por el programa man para escribir en /var/cache/man.
messagebus Utilizado por el servicio dbus (dbus-daemon-l)
news Escritura en las carpetas de noticias. Utilizado por servicios y otros programas de noticias (protocolo nntp).
nogroup Utilizado por servicios que no requieren ser propietarios de ningún archivo. Típicamente combinado con el usuario nobody.
operator Existente solo por motivos históricos para notificar a los operadores que han iniciado sesión. Para aumentar los privilegios es preferible utilizar la utilidad sudo.
plugdev Permite el acceso a los dispositivos extraíbles aunque no estén configurados en /etc/fstab. Útil para usarios locales que necesitan insertar memorias USB, etc. Utilizado por el programa pmount (que siempre monta los dispositivos extraíbles con las opciones nodev y nosuid).
postfix Utilizado por el MTA Postfix.
postgres Gestión de las bases de datos de PosgreSQL. Usualmente solo utilizado por el usuario postgres
proxy Para servicios (usualmente servicios proxy) que no tienen id de usuario dedicadas y necesitan ser propietarios de archivos. Usualmente utilizado por squid y pdnsd.
saned Añadido por sane-utils. Parece ser poco utilizado.
sasl Permite la escritura en /etc/sasldb y/o /etc/sasldb2, que se utilizan para la autentificación con sasl. Usualmente utilizado para autentificación por servidores IMAP, POP, y SMTP.
scanner Permite utilizar scanners.
shadow Permite la lectura de /etc/shadow. Utilizado por algunos programas que necesitan acceder a este archivo.
shutdown Permite iniciar sesión para apagar el sistema.
src Propietario del código fuente, incluyendo los archivos de /usr/src. Puede utilizarse para ofrecerla a un usuario la capacidad de gestionar el código fuente.
ssh Para prevenir ataques de ptrace. Utilizado por ssh-agent.
staff Permite trabajar en /usr/local, /var/local y /home. Usualmente para administradores de confianza.
sudo Los miembros de este grupo no necesitan escribir sus contraseñas al utilizar sudo. Ver /usr/share/doc/sudo/OPTIONS.
sync Permite iniciar sesión para sincronizar el sistema. Usualmente utilizado por el usuario sync (con shell /bin/sync)
sys Presente por motivos de compatibilidad.
syslog Utilizado por syslog, la bitácora de propósito general.
tape Permite el acceso a una unidad de cinta.
tty Utilizado por write y wall para escribir en las tty de otros usuarios. Los dispositivos tty y /dev/vcs pertenecen a este grupo.
uucp Utilizado por el subsistema UUCP.
users Para agrupar nuevos usuarios. Ver la nota al final de este artículo.
utmp Permite escribir en /var/run/utmp, /var/log/lastlog, y archivos similares. Utilizado por algunos emuladores de terminales.
video Permite acceder a dispositivos de video.
voice Voicemail. Util para sistemas que utilizan modems como contestadoras.
wheel Permite utilizar el comando su. Deshabilitado por defecto (ver /etc/pam.d/su para más detalles, así como la Sección 9.2.2 en la referencia de Debian).
www-data Para escritura de datos por servidores web. El usuario www-data no debería ser el propietario del contenido web, o un servidor comprometido permitiría reescribir un sitio web.

Para conocer qué archivos en su sistema pertenecen a un determinado grupo, puede ejecutar un comando como el siguiente:

find / -xdev -group nombredelgrupo

(El parámerto -xdev evita que se crucen puntos de montaje).

Listado de usuarios sin un grupo correspondiente

Algunos usuarios no tienen un grupo correspondiente, sino que utilizan otro de los anteriormente mencionados.

Usuario Función / Observaciones
sshd Usuario con pocos privilegios utilizado por sshd para comunicarse con la red antes de una autentificación exitosa.
fetchmail Utilizado por el programa fetchmail.
cupsys Utilizado por CUPS (Common Un*x Printing System). Pertenece al grupo lp.

Para conocer a qué grupos pertenece un determinado usuario, puede ejecutar un comando como el siguiente:

id nombredelusuario

Notas

En Debian GNU/Linux, al crearse un nuevo usuario, por defecto también se crea un nuevo grupo con el mismo nombre, de modo que con la umask adecuada (0002) y el bit SETGID establecido en el directorio de un proyecto, automáticamente se le asigna el grupo correcto a los archivos que se creen en ese directorio.

Puede parecer que sería más eficiente que todos los nuevos usuarios perteneciesen al grupo users como hacía tradicionalmente UN*X, pero esto dificulta la gestión de los permisos cuando un mismo usuario trabaja en múltiples proyectos.

No obstante, se puede cambiar este comportamiento modificando /etc/adduser.conf. Se debe cambiar el valor de la variable USERGROUPS a 'no', de modo que no se cree un nuevo grupo al crear un usuario, y también se debe cambiar el valor de USERS_GID al GID del grupo al que pertenecerán los usuarios. 2)

Atribuciones

1)
Basado parcialmente en un sitio extraoficial.
2)
Tomado de las preguntas más frecuentes del manual para asegurar Debian.