Users and groups (Español) - ArchWiki

Jump to content
From ArchWiki
Esta traducción de Users and groups fue revisada el 2021-02-14. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Artículos relacionados

- DeveloperWiki:UID / GID Database
- Sudo
- polkit
- Permisos y atributos de archivo
- systemd-homed

Los usuarios y grupos se utilizan en GNU/Linux para el control de acceso, es decir, para controlar el acceso a los archivos, directorios y periféricos del sistema. Linux ofrece mecanismos de control de acceso relativamente simples/toscos por defecto. Para obtener opciones más avanzadas, véase Listas de control de acceso, Capabilities y PAM (Español)#Configuración guiada.

## Descripción

Un usuario es cualquiera que use una computadora. En este caso, estamos describiendo los nombres que representan a esos usuarios. Puede ser Mary o Bill, y pueden usar los nombres Dragonlady o Pirate en lugar de su nombre real. Lo único que importa es que la computadora tenga un nombre para cada cuenta que cree, y es este nombre por el que una persona obtiene acceso para usar la computadora. Algunos servicios del sistema también se ejecutan utilizando cuentas de usuario restringidas o privilegiadas.

La administración de los usuarios se realiza con fines de seguridad al limitar el acceso de ciertas maneras específicas. El superusuario (root) tiene acceso completo al sistema operativo y su configuración; está destinado solo para uso administrativo. Los usuarios sin privilegios pueden usar los programas su y sudo para la escalada de privilegios controlada.

Cualquier persona puede tener más de una cuenta, siempre que utilicen un nombre diferente para cada una de ellas. Además, hay algunos nombres reservados que no se pueden usar, como «root».

Los usuarios pueden agruparse en un «grupo» y, del mismo modo, pueden añadirse a un grupo existente para utilizar el acceso privilegiado que dicho grupo concede.

Nota: El usuario inexperto debe utilizar estas herramientas con cuidado y evitar modificar cualquier otra cuenta de usuario existente, que no sea la suya propia.

## Permisos y propiedad

De En Unix todo es un archivo:

  El sistema operativo UNIX cristaliza un par de ideas y conceptos unificadores que dieron forma a su diseño, interfaz de usuario, cultura y evolución. Uno de los más importantes probablemente sea el mantra: "todo es un archivo", considerado ampliamente como uno de los puntos definitorios de UNIX.

  Este principio de diseño fundamental consiste en proporcionar un paradigma unificado para acceder a una amplia gama de recursos de entrada/salida: documentos, directorios, discos duros, CD-ROM, módems, teclados, impresoras, monitores, terminales e incluso algunas comunicaciones entre procesos y redes. El truco es proporcionar una abstracción común para todos estos recursos, cada uno de los cuales los padres de UNIX llamaron «archivo». Como cada «archivo» está expuesto a través de la misma API, se puede utilizar el mismo conjunto de órdenes básicas para leer/escribir en un disco, teclado, documento o dispositivo de red.

De Extendiendo la abstracción de archivo de UNIX para fines generales de administración de redes:

  Una abstracción fundamental, muy potente y consistente, proporcionada en UNIX y los sistemas operativos compatibles es la abstracción de archivos. Muchos servicios del sistema operativo e interfaces de dispositivos se implementan para proporcionar una metáfora de archivo o sistema de archivos a las aplicaciones. Esto permite nuevos usos y aumenta en gran medida el poder de las aplicaciones existentes — herramientas simples diseñadas para usos específicos pueden, con las abstracciones de archivos de UNIX, utilizarse de maneras novedosas. Una herramienta simple, como cat, diseñada para leer uno o más archivos y enviar los contenidos a la salida estándar, se puede utilizar para leer desde dispositivos E/S (entrada/salida) a través de archivos de dispositivos especiales, que generalmente se encuentran en el directorio `/dev`. En muchos sistemas, la grabación y reproducción de audio se puede hacer simplemente con las órdenes, «{`cat /dev/audio > miarchivo`» y «{`cat miarchivo > /dev/audio`», respectivamente.

Cada archivo en un sistema GNU/Linux es propiedad de un usuario y un grupo. Además, hay tres tipos de permisos de acceso: lectura, escritura y ejecución. Los permisos de acceso pueden aplicarse de forma diferente al usuario propietario del archivo, al grupo propietario y a otros (aquellos que no tienen la propiedad). Uno puede determinar los propietarios y permisos de un archivo al ver el formato de listado extenso de la orden ls:

    $ ls -l /boot/

    total 13740
    drwxr-xr-x 2 root root    4096 Jan 12 00:33 grub
    -rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img
    -rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img
    -rw-r--r-- 1 root root 1457315 Jan  8 08:19 System.map26
    -rw-r--r-- 1 root root 2209920 Jan  8 08:19 vmlinuz-linux

La primera columna muestra los permisos del archivo (por ejemplo, el archivo `initramfs-linux.img` tiene los permisos `-rw-r--r--`). La tercera y cuarta columnas muestran los propietarios de usuario y grupo del archivo, respectivamente. En el presente ejemplo, todos los archivos son propiedad del usuario root y del grupo root.

    $ ls -l /media/

    total 16
    drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared

En este ejemplo, la carpeta `sf_Shared` es propiedad del usuario root y del grupo vboxsf. También es posible determinar los propietarios y los permisos de un archivo con la orden stat:

El usuario propietario:

    $ stat -c %U /media/sf_Shared/

    root

El grupo propietario:

    $ stat -c %G /media/sf_Shared/

    vboxsf

Los permisos de acceso:

    $ stat -c %A /media/sf_Shared/

    drwxrwx---

Los permisos de acceso se muestran en tres grupos de caracteres, representando los permisos del usuario propietario, del grupo propietario, y de los otros, respectivamente. Por ejemplo, los caracteres `-rw-r--r--` indican que el usuario propietario del archivo tiene permisos de lectura y escritura, pero no de ejecución (`rw-`), mientras que los usuarios que pertenecen al grupo propietario y los demás usuarios solo tienen permiso de lectura (`r--` y `r--`). Mientras tanto, los caracteres `drwxrwx---` indican que el usuario propietario del archivo y todos los usuarios que pertenecen al grupo propietario tienen permisos de lectura, escritura y ejecución (`rwx` y `rwx`), mientras que los demás usuarios no pueden acceder (`---`). El primer carácter representa el tipo de archivo.

Puede listar los archivos que pertenecen a un usuario o a un grupo con la herramienta find:

    # find / -group nombredegrupo

    # find / -group númerodegrupo

    # find / -user usuario

El usuario y el grupo propietarios de un archivo pueden ser cambiados con la orden chown (change owner). Los permisos de acceso a un archivo se pueden cambiar con la orden chmod (change mode).

Véase chown(1), chmod(1), y Linux file permissions para obtener información adicional.

## Shadow

Las herramientas de gestión de usuarios, grupos y contraseñas en Arch Linux provienen del paquete shadow, que es una dependencia del meta paquete base.

## Lista de archivos

Advertencia: No modifique estos archivos manualmente. Existen utilidades que bloquean el manejo de las propiedades y evitan invalidar el formato de la base de datos. Véase administración de usuarios y administración de grupos para más detalles.

Archivo | Propósito
--- | ---
`/etc/shadow` | Información reservada de las cuentas de usuario
`/etc/passwd` | Información de las cuentas de usuario
`/etc/gshadow` | Contiene información reservada de los grupos de usuarios
`/etc/group` | Define los grupos a los que pertenecen los usuarios

## Administración de usuarios

Para listar los usuarios que actualmente están conectados en el sistema, se puede usar la orden who. Para listar todas las cuentas de usuario existentes, incluidas sus propiedades almacenadas en la base de datos del usuario, ejecute `passwd -Sa` como superusuario. Véase passwd(1) para la descripción del formato de salida.

Para añadir un nuevo usuario, utilice el comando useradd:

    # useradd -m -G grupos_adicionales -s intérprete_de_línea_de_órdenes nombre_de_usuario

`-m`/`--create-home`
  crea el directorio del usuario como `/home/usuario`. Dentro de este directorio, un usuario que no es superusuario puede escribir archivos, eliminarlos, instalar programas, etc.
`-G`/`--groups`
  introduce una lista de grupos suplementarios de los que el usuario también es miembro. Cada grupo está separado del siguiente mediante una coma, sin espacios intermedios. Por defecto el usuario pertenece solo al grupo inicial.
`-s`/`--shell`
  define la ruta y el nombre de archivo del intérprete de línea de órdenes de inicio de sesión predeterminado del usuario. Una vez que se completa el arranque, el intérprete de línea de órdenes de inicio de sesión predeterminado es el que se especifica aquí. Asegúrese de que el intérprete de línea de órdenes elegido esté instalado si es distinto a Bash.

Advertencia: Para poder iniciar sesión, el intérprete de línea de órdenes de inicio de sesión debe ser uno de los listados en `/etc/shells`; de lo contrario, el módulo PAM `pam_shell` negará la solicitud de inicio de sesión. En particular, no use la ruta `/usr/bin/bash` en lugar de `/bin/bash`, a menos que esté configurada correctamente en `/etc/shells`; véase FS#33677.
Nota: La contraseña del usuario recién creado debe definirse después, utilizando passwd como se muestra en #Ejemplo para añadir un usuario.

Si un grupo de inicio de sesión se especifica por nombre o número, debe referirse a un grupo ya existente. Si no se especifica, el comportamiento de useradd dependerá de la variable `USERGROUPS_ENAB` contenida en `/etc/login.defs`. El comportamiento predeterminado (`USERGROUPS_ENAB yes`) es crear un grupo con el mismo nombre del usuario.

Cuando el intérprete de línea de órdenes de inicio de sesión no es funcional, por ejemplo, cuando la cuenta de usuario se crea para un servicio específico, se puede especificar `/usr/bin/nologin` en lugar de un intérprete de línea de órdenes normal para rechazar amablemente el inicio de sesión (véase nologin(8)).

Consulte useradd(8) para ver otras opciones.

### Ejemplo para añadir un usuario

Para añadir un nuevo usuario llamado `archie`, creando su directorio de inicio y usando todos los valores predeterminados en términos de grupos, nombres de carpetas, intérpretes de órdenes utilizados y otros parámetros:

    # useradd -m archie

Sugerencia: El valor predeterminado utilizado para el intérprete de línea de órdenes de inicio de sesión de la nueva cuenta se puede mostrar usando `useradd --defaults`. El valor predeterminado es Bash, se puede especificar un intérprete de línea de órdenes diferente con la opción `-s`/`--shell`; véase `/etc/shells` para intérpretes de órdenes válidos.

Aunque no es necesario proteger al usuario `archie` recién creado con una contraseña, se recomienda encarecidamente hacerlo:

    # passwd archie

La orden useradd anterior también creará automáticamente un grupo llamado `archie` y lo convierte en el grupo predeterminado para el usuario `archie`. Hacer que cada usuario tenga su propio grupo (con el nombre de grupo igual al nombre del usuario) es la forma de añadir usuarios preferida.

También puede hacer que el grupo predeterminado sea distinto usando la opción `-g`, pero tenga en cuenta que en sistemas multiusuario, no se recomienda utilizar un único grupo predeterminado (por ejemplo, `users`) para cada usuario. La razón es que, por lo general, el método para facilitar el acceso de escritura compartido para grupos específicos de usuarios establece el valor de usuario umask en `002`, lo que significa que el grupo predeterminado siempre tendrá acceso de escritura a cualquier archivo que cree. Véase también User Private Groups[enlace roto 2021-11-19]. Si un usuario debe ser miembro de un grupo específico, especifique ese grupo como un grupo suplementario al crear el usuario.

En el escenario recomendado, donde el grupo predeterminado tiene el mismo nombre que el usuario, todos los archivos se pueden escribir de forma predeterminada solo por el usuario que los creó. Para permitir el acceso de escritura a un grupo específico, los archivos/carpetas compartidos se pueden escribir de forma predeterminada por todos en este grupo y, el grupo propietario, se puede fijar automáticamente al grupo dueño del directorio personal estableciendo el bit setgid en este directorio:

    # chmod g+s nuestro_directorio_compartido

De lo contrario, se utiliza el grupo predeterminado del creador del archivo (generalmente el mismo que el nombre de usuario).

Si se requiere un cambio de GID temporalmente, también puede usar la orden newgrp para cambiar el GID predeterminado del usuario a otro GID en tiempo de ejecución. Por ejemplo, después de ejecutar `newgrp nombre_de_grupo` los archivos creados por el usuario se asociarán con el GID de `nombre_de_grupo`, sin necesidad de volver a iniciar sesión. Para volver al GID predeterminado, ejecute newgrp sin un nombre de grupo.

### Ejemplo para añadir un usuario del sistema

Los usuarios del sistema se pueden usar para ejecutar procesos/demonios bajo un usuario diferente, protegiendo (por ejemplo, con chown) en archivos y/o directorios y más ejemplos de fortalecimiento informático.

Con la orden siguiente se crea un usuario del sistema sin acceso al intérprete de línea de órdenes y sin un directorio personal `home` (opcionalmente se añade el parámetro `-U` para crear un grupo con el mismo nombre que el usuario, y se añade el usuario a este grupo):

    # useradd -r -s /usr/bin/nologin usuario

Si el usuario del sistema requiere un ID de usuario y grupo específico, indíquelos con las opciones `-u`/`--uid` y `-g`/`-gid` al crear el usuario:

    # useradd -r -u 850 -g 850 -s /usr/bin/nologin usuario

### Cambio del nombre de inicio de sesión de un usuario o el directorio personal

Para cambiar el directorio de inicio de un usuario:

    # usermod -d /mi/nuevo/directorio/personal -m usuario

La opción `-m` también crea automáticamente el nuevo directorio y mueve el contenido allí.

Sugerencia: Puede crear un enlace desde el directorio personal anterior del usuario al nuevo. Al hacer esto, los programas podrán encontrar archivos que tengan rutas codificadas.

    # ln -s /mi/nuevo/directorio/personal/ /mi/antiguo/directorio/personal

Asegúrese de que no haya `/` al final de `/mi/antiguo/directorio/personal`.

Para cambiar el nombre de inicio de sesión de un usuario:

    # usermod -l nombrenuevo nombreantiguo

Advertencia: Asegúrese de no haber iniciado sesión como el usuario cuyo nombre va a cambiar. Abra un nuevo tty (p.ej. `Ctrl+Alt+F6`) e inicie sesión como superusuario o como otro usuario y eleve a superusuario. usermod debería evitar que haga esto por error.

Cambiar un nombre de usuario es seguro y fácil cuando se hace correctamente, simplemente use la orden usermod. Si el usuario está asociado a un grupo con el mismo nombre, puede cambiarle el nombre con la orden groupmod.

Alternativamente, el archivo `/etc/passwd` puede modificarse directamente, véase #Base de datos del usuario para una introducción a su formato.

Tenga también en cuenta las siguientes notas:

- Si está utilizando sudo, asegúrese de actualizar `/etc/sudoers` para reflejar el nuevo nombre de usuario (a través de la orden visudo como superusuario).
- Los crontabs personales debe ajustarse al cambiar el nombre del archivo del usuario en `/var/spool/cron` del antiguo al nuevo nombre, y luego abrir `crontab -e` para cambiar las rutas relevantes y ajustar los permisos del archivo en consecuencia.
- Los archivos/carpetas personales de Wine contenidos en `~/.wine/drive_c/users`, `~/local/share/applications/wine/Programs` y posiblemente otros necesiten ser renombrados/modificados manualmente.
- Es posible que sea necesario volver a instalar ciertos complementos de Thunderbird, como Enigmail.
- Cualquier cosa en su sistema (atajos de escritorio, scripts del intérprete de línea de órdenes, etc.) que use una ruta de acceso absoluta a su directorio personal (es decir, `/home/nombreantiguo`) deberá modificarse para reflejar su nuevo nombre. Para evitar estos problemas en los scripts del intérprete de línea de órdenes, use las variables `~` o `$HOME` para definir el directorios personal.
- Además, no olvide modificar en consecuencia los archivos de configuración en `/etc` que dependan de su ruta absoluta (p.ej. Samba, CUPS, etc.). Una buena forma de aprender qué archivos necesita actualizar implica usar la orden grep de esta manera: `grep -r usuario_antiguo *`

### Otros ejemplos de administración de usuarios

Para introducir información del usuario como comentarios en GECOS (por ejemplo, el nombre de usuario completo), escriba:

    # chfn usuario

(De esta forma chfn se ejecuta en modo interactivo).

Alternativamente, el comentario de GECOS se puede establecer de forma más liberal con:

    # usermod -c "Comentario" usuario

Para marcar la contraseña de un usuario como caducada y solicitarles que creen una nueva la primera vez que inician sesión, escriba:

    # chage -d 0 usuario

Las cuentas de usuario se pueden eliminar con la orden userdel:

    # userdel -r usuario

La opción `-r` especifica que el directorio de inicio y la cola de mensajes del usuario también deben eliminarse.

Para cambiar el intérprete de línea de órdenes de inicio de sesión del usuario:

    # usermod -s /bin/bash usuario

Sugerencia: El script adduserAUR permite realizar los trabajos de useradd, chfn y passwd de forma interactiva. Véase también FS#32893.

## Base de datos del usuario

La información del usuario local se almacena en el archivo de texto sin formato `/etc/passwd`: cada una de sus líneas representa una cuenta de usuario y tiene siete campos delimitados por dos puntos.

    cuenta:contraseña:UID:GID:GECOS:directorio:intérprete_de_línea_de_órdenes

Donde:

- `cuenta` es el nombre de usuario. Este campo no puede estar vacío. Se aplican las reglas de nomenclatura estándar de *NIX.
- `contraseña` es la contraseña del usuario
  Advertencia: El archivo `passwd` es legible para todo el mundo, por lo que almacenar las contraseñas (con hash o sin él) en este archivo es inseguro. En cambio, Arch Linux utiliza contraseñas ocultas (shadowed): el campo `contraseña` contendrá un carácter de marcador de posición (`x`) que indica que la contraseña hash se guarda en el archivo de acceso restringido `/etc/shadow`. Por esta razón, se recomienda cambiar siempre las contraseñas usando la orden passwd.
- `UID` es la identificación numérica del usuario. En Arch, el primer nombre de inicio de sesión (después del superusuario) para un llamado usuario normal, a diferencia de los servicios, es UID 1000 de forma predeterminada; las entradas subsecuentes de UID para los usuarios deberían ser mayores a 1000.
- `GID` es la identificación numérica del grupo principal para el usuario. Los valores numéricos para los GID se enumeran en /etc/group.
- `GECOS` es un campo opcional utilizado con fines informativos; generalmente contiene el nombre de usuario completo, pero también puede ser utilizado por servicios como finger y se puede administrar con la orden chfn. Este campo es opcional y puede dejarse en blanco.
- `directorio` es utilizado por la orden de inicio de sesión para establecer la variable de entorno `$HOME`. Varios servicios con sus propios usuarios usan `/`, pero los usuarios normales generalmente establecen una carpeta bajo `/home`.
- `intérprete_de_línea_de_órdenes` es la ruta al intérprete de línea de órdenes predeterminado del usuario. Este campo es opcional y su valor predeterminado es `/bin/bash`.

Ejemplo:

    jack:x:1001:1003:Jack Smith,algún comentario va aquí,,:/home/jack:/bin/bash

Desglosado, esto significa: usuario `jack`, cuya contraseña está en `/etc/shadow`, cuyo UID es 1001 y cuyo grupo principal es 1003. Jack Smith es su nombre completo y existe un comentario asociado a su cuenta; su directorio personal es `/home/jack` y está usando Bash.

La orden pwck se puede usar para verificar la integridad de la base de datos del usuario. Puede ordenar la lista de usuarios por GID al mismo tiempo, lo que puede ser útil para comparar:

    # pwck -s

Advertencia: En Arch Linux los valores predeterminados de los archivos se crean como archivos .pacnew mediante nuevas versiones del paquete filesystem. A menos que Pacman genere mensajes relacionados para la acción, estos archivos .pacnew pueden, y deberían, ser descartados/eliminados. Los nuevos usuarios y grupos predeterminados necesarios se añaden o se vuelven a añadir según sea necesario por systemd-sysusers(8) o el script de instalación del paquete.

## Comprobaciones automáticas de integridad

En lugar de ejecutar `pwck` manualmente, el servicio systemd `shadow.timer`, que es parte y está activado por la instalación del paquete shadow, ejecutará a diario la comprobación `pwck` tanto a los grupos como a los usuarios.

Si se encuentran discrepancias, el grupo se puede editar con la orden `vigr` y los usuarios con `vipw`. Esto proporciona un margen adicional de protección ya que estas órdenes bloquean las bases de datos para su edición. Tenga en cuenta que el editor de texto predeterminado es vi, pero se usará un editor alternativo si se establece la variable de entorno `EDITOR`, entonces se utilizará ese editor en su lugar.

## Administración de grupos

`/etc/group` es el archivo que define los grupos en el sistema (véase group(5) para más detalles). También está su compañero `gshadow` que rara vez se utiliza. Sus detalles están en gshadow(5).

La orden groups muestra la pertenencia al grupo:

    $ groups usuario

Si se omite `usuario`, se muestran los grupos a los que pertenece el usuario actual.

La orden id proporciona detalles adicionales, tales como el UID del usuario y los GID asociados:

    $ id usuario

Para listar todos los grupos en el sistema:

    $ cat /etc/group

Cree un nuevo grupo con la orden groupadd:

    # groupadd grupo

Añada un usuario a un grupo con la orden gpasswd (véase FS#58262 sobre los errores):

    # gpasswd -a usuario grupo

Alternativamente, añada un usuario a grupos adicionales con usermod (reemplace `grupos_adicionales` por una lista separada por comas):

    # usermod -aG grupos_adicionales usuario

Advertencia: Si la opción `-a` se omite en la orden usermod anterior, el usuario se elimina de todos los grupos que no figuran en `grupos_adicionales` (es decir, el usuario solo será miembro de los grupos que figuran en `grupos_adicionales`).

Modifique un grupo existente con la orden groupmod, p.ej. para cambiar el nombre del grupo `grupo_antiguo` a `grupo_nuevo`: grupo_nuevo}}):

    # groupmod -n grupo_nuevo grupo_antiguo

Nota: Esto cambiará el nombre del grupo pero no el GID numérico del mismo. Por lo tanto, todos los archivos anteriormente propiedad de `grupo_antiguo` serán propiedad de `grupo_nuevo`.

Puede eliminar un grupo existente:

    # groupdel grupo

Puede eliminar un usuario de un grupo:

    # gpasswd -d usuario grupo

Nota: Si el usuario está actualmente conectado, deben cerrar la sesión y volver a entrar para que el cambio surta efecto.

La orden grpck se puede utilizar para comprobar la integridad de los archivos de grupo del sistema.

Advertencia: Los valores predeterminados de Arch Linux de los archivos se crean como archivos .pacnew mediante nuevas versiones del paquete filesystem. A menos que Pacman muestre mensajes relacionados con la acción, estos archivos .pacnew pueden, y deben, ser descartados/eliminados. Los nuevos usuarios y grupos requeridos por defecto son añadidos o re-añadidos según sea necesario por systemd-sysusers(8) o el script de instalación del paquete.

## Listado de grupos

Esta sección explica el propósito de los grupos esenciales del paquete filesystem. Hay muchos otros grupos, que se crearán con el GID correcto cuando se instale el paquete correspondiente. Véase la página principal del software para más detalles.

Nota: La eliminación posterior de un paquete no elimina el usuario/grupo creado automáticamente (UID/GID) de nuevo. Esto es intencionado porque cualquier archivo creado durante su uso se dejaría huérfano con el posible riesgo de seguridad.

### Grupos de usuarios

A menudo, los usuarios que no son superusuarios de la computadora deben añadirse a algunos de los siguientes grupos para permitir el acceso a los periféricos y facilitar la administración del sistema:

Grupo | Archivos afectados | Propósito
--- | --- | ---
adm |  | Grupo de administración, comúnmente utilizado para dar acceso de lectura a registros protegidos. Tiene acceso de lectura completo a los archivos journal.
ftp | `/srv/ftp/` | Acceso a archivos servidos por servidores FTP.
games | `/var/games` | Acceso a algunas aplicaciones de juegos.
http | `/srv/http/` | Acceso a archivos servidos por servidores HTTP.
log |  | Acceso a archivos de registro en `/var/log/` creados por syslog-ng.
rfkill | `/dev/rfkill` | Derecho a controlar el estado de energía de los dispositivos inalámbricos (utilizado por rfkill).
sys |  | Derecho a administrar impresoras en CUPS.
systemd-journal | `/var/log/journal/*` | Se utiliza para proporcionar acceso de solo lectura a los registros systemd, como una alternativa a `adm` y `wheel` [1]. De lo contrario, solo se muestran los mensajes generados por el usuario.
uucp | `/dev/ttyS[0-9]+`, `/dev/tts/[0-9]+`, `/dev/ttyUSB[0-9]+`, `/dev/ttyACM[0-9]+`, `/dev/rfcomm[0-9]+` | Acceso a los puertos serie RS-232 y dispositivos conectados a ellos.
wheel |  | Grupo de administración, comúnmente utilizado para dar privilegios para realizar acciones administrativas. Tiene acceso de lectura total a los archivos journal y el derecho de administrar impresoras en CUPS. Puede ser utilizado también para dar acceso a las utilidades sudo y su (ninguno lo usa por defecto.

### Grupos del sistema

Los siguientes grupos se utilizan para fines del sistema, solo es necesario su asignación a los usuarios para fines específicos:

Grupo | Archivos afectados | Propósito
--- | --- | ---
dbus |  | Utilizado internamente por dbus
kmem | `/dev/port`, `/dev/mem`, `/dev/kmem` |
locate | `/usr/bin/locate`, `/var/lib/locate`, `/var/lib/mlocate`, `/var/lib/slocate` | Véase Locate.
lp | `/dev/lp[0-9]*`, `/dev/parport[0-9]*` | Acceso a dispositivos de puerto paralelo (impresoras y otros).
mail | `/usr/bin/mail` |
nobody |  | Grupo sin privilegios.
proc | `/proc/pid/` | Un grupo autorizado para aprender información de procesos que de lo contrario está prohibida por la opción de montaje `hidepid=` del sistema de archivos de proc. El grupo debe establecerse explícitamente con la opción de montaje `gid=`.
root | `/*` | Administración y control completo del sistema (root, admin).
smmsp |  | Grupo sendmail.
tty | `/dev/tty`, `/dev/vcc`, `/dev/vc`, `/dev/ptmx` |
utmp | `/run/utmp`, `/var/log/btmp`, `/var/log/wtmp` |

### Grupos pre-systemd

Antes de que Arch migrase a systemd, los usuarios tenían que añadirse manualmente a estos grupos para poder acceder a los dispositivos correspondientes. Esta metodología está obsoleta en favor de udev marcando los dispositivos con `uaccess` tag[enlace roto 2022-09-23] y logind asignando los permisos a los usuarios dinámicamente a través de ACLs según la sesión que esté actualmente activa. Tenga en cuenta que la sesión no debe interrumpirse para que esto funcione (véase Permisos de sesión para comprobarlo).

Hay algunas excepciones notables que requieren añadir un usuario a algunos de estos grupos: por ejemplo, si desea permitir que los usuarios accedan al dispositivo incluso cuando no están conectados. Sin embargo, tenga en cuenta que añadir usuarios a los grupos puede incluso causar la rotura de alguna funcionalidad (por ejemplo, el grupo `audio` romperá el cambio rápido de usuario y permite que las aplicaciones bloqueen el mezclador por software).

Grupo | Archivos afectados | Propósito
--- | --- | ---
audio | `/dev/audio`, `/dev/snd/*`, `/dev/rtc0` | Acceso directo a hardware de sonido para todas las sesiones. Todavía es necesario hacer que ALSA y OSS funcionen en sesiones remotas, véase ALSA#User privileges. También utilizado por JACK para dar a los usuarios permisos de procesamiento en tiempo real.
disk | `/dev/sd[a-zA-Z]*[1-9]` | Acceso a dispositivos de bloques no afectados por otros grupos como `optical`, `floppy`, y `storage`.
floppy | `/dev/fd[0-9]` | Acceso a unidades de disquete.
input | `/dev/input/event[0-9]*`, `/dev/input/mouse[0-9]*` | Acceso a dispositivos de entrada. Introducido en systemd 215 [2].
kvm | `/dev/kvm` | Acceso a máquinas virtuales usando KVM.
optical | `/dev/sr[0-9]`, `/dev/sg[0-9]` | Acceso a dispositivos ópticos como unidades de CD y DVD.
scanner | `/var/lock/sane` | Acceso al hardware del escáner.
storage | `/dev/st[0-9]*[lma]*`, `/dev/nst[0-9]*[lma]*` | Utilizado para obtener acceso a unidades extraíbles como discos duros USB, unidades flash, reproductores de MP3; permite al usuario montar dispositivos de almacenamiento. [3] Now solely for direct access to tapes if no custom udev rules is involved.[4][5][6][7]
video | `/dev/fb/0`, `/dev/misc/agpgart` | Acceso a dispositivos de captura de vídeo, aceleración por hardware 2D/3D, framebuffer (se puede utilizar X sin pertenecer a este grupo).

### Grupos no utilizados

Los siguientes grupos no tienen actualmente ninguna propósito:

Grupo | Archivos afectados | Propósito
--- | --- | ---
bin | ninguno | Histórico
daemon |  |
lock |  | Usado para el acceso de bloqueo de archivos. Requerido por ejemplo en gnokiiAUR.
mem |  |
network |  | No utilizado por defecto. Puede ser utilizado, por ejemplo para otorgar acceso a NetworkManager (véase NetworkManager#Set up PolicyKit permissions).
power |  |
uuidd |  |
users |  | El grupo primario para usuarios cuando no se utilizan grupos privados de usuarios (generalmente no recomendado), p.ej. al crear usuarios con `USERGROUPS_ENAB no` en `/etc/login.defs` o la opción `-N`/`--no-user-group` de useradd.

## Otras herramientas relacionadas con estas bases de datos

getent(1) se puede utilizar para leer un registro en particular.

    % getent group tty

Como se advirtió en #Base de datos del usuario, utilizar utilidades específicas como `passwd` y `chfn`, es una mejor forma de cambiar las bases de datos. Sin embargo, hay momentos en que hay que editarlos directamente. Para estos casos se proporcionan `vipw` y `vigr`. Se recomienda encarecidamente utilizar estos editores personalizados antes que un editor de texto general, ya que bloquean las bases de datos contra la modificación concurrente. También ayudan a evitar entradas no válidas y/o errores de sintaxis. Tenga en cuenta que Arch Linux prefiere la utilización de herramientas específicas, tales como chage, para modificar la base de datos en vez de utilizar `vipw -s` y `vigr -s` de util-linux. véase también FS#31414.

Category:

- Security (Español)

Hidden category:

- Pages with dead links