====== 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. ((Basado parcialmente en un [[http://www.wwclass.com/doc/base-passwd/users-and-groups.html|sitio]] extraoficial.)) ===== 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. ((Tomado de las [[http://www.debian.org/doc/manuals/securing-debian-howto/ch12.en.html | preguntas más frecuentes]] del manual para asegurar Debian.)) ===== Atribuciones ===== * **Autor:** Hugo Florentino