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)
| 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. |
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).
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
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)