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 perifricos del sistema. Linux ofrece mecanismos de control de acceso relativamente simples/toscos por defecto. Para obtener opciones ms avanzadas, vase Listas de control de acceso, Capabilities y PAM (Espaol)#Configuracin guiada.
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 tambin se ejecutan utilizando cuentas de usuario restringidas o privilegiadas.
La administracin de los usuarios se realiza con fines de seguridad al limitar el acceso de ciertas maneras especficas. El superusuario (root) tiene acceso completo al sistema operativo y su configuracin; est destinado solo para uso administrativo. Los usuarios sin privilegios pueden usar los programas su y sudo para la escalada de privilegios controlada.
Cada archivo en un sistema GNU/Linux es propiedad de un usuario y un grupo. Adems, hay tres tipos de permisos de acceso: lectura, escritura y ejecucin. 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:
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.
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 ejecucin (rw-), mientras que los usuarios que pertenecen al grupo propietario y los dems 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 ejecucin (rwx y rwx), mientras que los dems usuarios no pueden acceder (---). El primer carcter representa el tipo de archivo.
Para listar los usuarios que actualmente estn 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. Vase passwd(1) para la descripcin del formato de salida.
Si un grupo de inicio de sesin se especifica por nombre o nmero, 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 intrprete de lnea de rdenes de inicio de sesin no es funcional, por ejemplo, cuando la cuenta de usuario se crea para un servicio especfico, se puede especificar /usr/bin/nologin en lugar de un intrprete de lnea de rdenes normal para rechazar amablemente el inicio de sesin (vase nologin(8)).
Para aadir un nuevo usuario llamado archie, creando su directorio de inicio y usando todos los valores predeterminados en trminos de grupos, nombres de carpetas, intrpretes de rdenes utilizados y otros parmetros:
La orden useradd anterior tambin crear automticamente 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 aadir usuarios preferida.
Tambin puede hacer que el grupo predeterminado sea distinto usando la opcin -g, pero tenga en cuenta que en sistemas multiusuario, no se recomienda utilizar un nico grupo predeterminado (por ejemplo, users) para cada usuario. La razn es que, por lo general, el mtodo para facilitar el acceso de escritura compartido para grupos especficos 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. Vase tambin User Private Groups. Si un usuario debe ser miembro de un grupo especfico, 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 especfico, los archivos/carpetas compartidos se pueden escribir de forma predeterminada por todos en este grupo y, el grupo propietario, se puede fijar automticamente al grupo dueo del directorio personal estableciendo el bit setgid en este directorio:
Si se requiere un cambio de GID temporalmente, tambin puede usar la orden newgrp para cambiar el GID predeterminado del usuario a otro GID en tiempo de ejecucin. Por ejemplo, despus de ejecutar newgrp nombre_de_grupo los archivos creados por el usuario se asociarn con el GID de nombre_de_grupo, sin necesidad de volver a iniciar sesin. Para volver al GID predeterminado, ejecute newgrp sin un nombre de grupo.
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 ms ejemplos de fortalecimiento informtico.
Con la orden siguiente se crea un usuario del sistema sin acceso al intrprete de lnea de rdenes y sin un directorio personal home (opcionalmente se aade el parmetro -U para crear un grupo con el mismo nombre que el usuario, y se aade el usuario a este grupo):
Cambiar un nombre de usuario es seguro y fcil 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.
Desglosado, esto significa: usuario jack, cuya contrasea 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.
En lugar de ejecutar pwck manualmente, el servicio systemd shadow.timer, que es parte y est activado por la instalacin del paquete shadow, ejecutar a diario la comprobacin 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 proteccin ya que estas rdenes bloquean las bases de datos para su edicin. 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.
Esta seccin explica el propsito de los grupos esenciales del paquete filesystem. Hay muchos otros grupos, que se crearn con el GID correcto cuando se instale el paquete correspondiente. Vase la pgina principal del software para ms detalles.
Antes de que Arch migrase a systemd, los usuarios tenan que aadirse manualmente a estos grupos para poder acceder a los dispositivos correspondientes. Esta metodologa est obsoleta en favor de udev marcando los dispositivos con uaccess tag y logind asignando los permisos a los usuarios dinmicamente a travs de ACLs segn la sesin que est actualmente activa. Tenga en cuenta que la sesin no debe interrumpirse para que esto funcione (vase Permisos de sesin para comprobarlo).
Hay algunas excepciones notables que requieren aadir un usuario a algunos de estos grupos: por ejemplo, si desea permitir que los usuarios accedan al dispositivo incluso cuando no estn conectados. Sin embargo, tenga en cuenta que aadir usuarios a los grupos puede incluso causar la rotura de alguna funcionalidad (por ejemplo, el grupo audio romper el cambio rpido de usuario y permite que las aplicaciones bloqueen el mezclador por software).
Como se advirti en #Base de datos del usuario, utilizar utilidades especficas 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 modificacin concurrente. Tambin ayudan a evitar entradas no vlidas y/o errores de sintaxis. Tenga en cuenta que Arch Linux prefiere la utilizacin de herramientas especficas, tales como chage, para modificar la base de datos en vez de utilizar vipw -s y vigr -s de util-linux. vase tambin FS#31414.
Presumo que ests un poco familiarizado con el concepto de grupos y usuarios en Linux. Hay varios grupos y una variedad de usuarios en un sistema Linux. Un grupo puede tener mltiples miembros mientras que un usuario puede ser miembro de varios grupos.
La instruccin anterior busca todas las lneas que comienzan con el nombre de grupo especificado y luego el comando "cut" extrae la cuarta columna separada por el delimitador ":". El resultado es simplemente el nombre de los miembros del grupo.
El comando getent es una herramienta verstil que se utiliza para hacer consultas en archivos de base de datos en el directorio /etc. De esta forma, puedes emplearlo para realizar consultas en el archivo /etc/group y obtener los usuarios del grupo especificado de la siguiente manera:
d3342ee215