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)