Abierto
Cerca

Linux en qué grupo se encuentra el usuario. Cómo agregar un usuario a un grupo (o grupo secundario) en Linux. Gestión de grupos de Linux

Original: Fundamentos de Linux
Autor: Paul Cobbaut
Fecha de publicación: 16 de octubre de 2014
Traducción: A. Panin
Fecha de traducción: 23 de diciembre de 2014

Capítulo 29. Grupos de usuarios

Las cuentas de usuario del sistema se pueden combinar dentro de grupos. El concepto de grupos de usuarios le permite establecer derechos de acceso a nivel de grupo de usuarios en lugar de establecer los mismos derechos de acceso para cada usuario individual.

Cada distribución de Unix o Linux tiene una herramienta GUI para administrar grupos de usuarios. Se recomienda el uso de estas herramientas a los usuarios que no tengan experiencia con estos sistemas. Los usuarios más experimentados pueden usar herramientas de línea de comandos para administrar cuentas de usuario, pero tenga cuidado: algunas distribuciones no le permiten usar herramientas de administración de grupos de usuarios de línea de comandos y GUI (un ejemplo es la herramienta Suse de Novell). Los administradores de sistemas experimentados pueden editar directamente los archivos correspondientes utilizando el editor de texto vi o la utilidad vigr.

utilidad groupadd

Se pueden crear grupos de usuarios utilizando la utilidad groupadd. El siguiente ejemplo muestra cómo crear cinco grupos (sin agregarles usuarios). root@laika:~# groupadd tenis root@laika:~# groupadd fútbol root@laika:~# groupadd snooker root@laika:~# groupadd formula1 root@laika:~# groupadd salsa

archivo de grupo

Los usuarios pueden pertenecer a varios grupos. La pertenencia al grupo de usuarios se define en el archivo /etc/group. root@laika:~# tail -5 /etc/group tenis:x:1006: fútbol:x:1007: snooker:x:1008: formula1:x:1009: salsa:x:1010: root@laika:~#

El primer campo en la línea de descripción del grupo de usuarios es el nombre del grupo. El segundo campo contiene la contraseña del grupo (cifrada) (este campo puede estar vacío). El tercer campo contiene el identificador de grupo o valor GID. El cuarto campo es una lista de miembros del grupo, que en este caso está vacía porque no hay usuarios en los grupos.

comando de grupos

Un usuario puede ejecutar el comando de grupos para ver una lista de los grupos a los que pertenece. $grupos harry deportes$

utilidad de modificación de usuario

La membresía del grupo de un usuario se puede cambiar usando la utilidad useradd o usermod. root@laika:~# usermod -a -G tenis inge root@laika:~# usermod -a -G tenis katrien root@laika:~# usermod -a -G salsa katrien root@laika:~# usermod -a -G billar sandra root@laika:~# usermod -a -G formula1 annelies root@laika:~# tail -5 /etc/group tenis:x:1006:inge,katrien fútbol:x:1007: snooker:x:1008:sandra fórmula1:x:1009:annelies salsa:x:1010:katrien root@laika:~#

Tenga cuidado al utilizar la utilidad usermod para agregar usuarios a grupos. De forma predeterminada, la utilidad usermod eliminará al usuario de todos los grupos de los que era miembro si los nombres de estos grupos no se pasaron como parte del comando. El uso de la opción -a (añadir) evita este comportamiento.

utilidad groupmod

Puede cambiar el nombre del grupo de usuarios utilizando la utilidad groupmod. root@laika:~# groupmod -n dardos snooker root@laika:~# tail -5 /etc/group tenis:x:1006:inge,katrien fútbol:x:1007: fórmula1:x:1009:annelies salsa:x: 1010:katrien dardos:x:1008:sandra

utilidad groupdel

Puede eliminar permanentemente un grupo de usuarios utilizando la utilidad groupdel. root@laika:~# grupodel tenis root@laika:~#

utilidad gpasswd

También puede delegar el control sobre la membresía de un grupo de usuarios específico a otro usuario usando la utilidad gpasswd. En el siguiente ejemplo, delegamos a Serena los derechos para agregar y eliminar usuarios del grupo deportivo. Luego usamos el comando su para agregar al usuario harry al grupo de deportes en nombre del usuario serena. # gpasswd -A serena sports # su - serena $ id harry uid=516(harry) gid=520(harry) groups=520(harry) $ gpasswd -a harry sports Agregando usuario harry al grupo sports $ id harry uid=516 ( harry) gid=520(harry) grupos=520(harry),522(deportes) $ cola -1 /etc/grupo deportes:x:522:serena,venus,harry $

Los administradores de grupos de usuarios no están obligados a ser miembros de estos grupos. Pueden eliminar sus cuentas de los grupos de usuarios que administran y esto no afectará su capacidad para agregar o eliminar usuarios de esos grupos. $ gpasswd -d serena sports Eliminar al usuario serena del grupo de deportes $ exit

La información sobre los administradores de grupos de usuarios se almacena en el archivo /etc/gshadow. # cola -1 /etc/gshadow deportes:!:serena:venus,harry #

Para eliminar todas las cuentas de administrador de un grupo de usuarios, utilice la utilidad gpasswd con opciones para especificar una lista vacía de administradores. # gpasswd -A "" deportes

utilidad newgrp

Puede iniciar un shell secundario con un nuevo grupo de usuarios principal temporal utilizando el comando newgrp. root@rhel65:~# mkdir prigroup root@rhel65:~# cd prigroup/ root@rhel65:~/prigroup# touch standard.txt root@rhel65:~/prigroup# ls -l total 0 -rw-r--r- -. 1 raíz raíz 0 13 de abril 17:49 standard.txt root@rhel65:~/prigroup# echo $SHLVL 1 root@rhel65:~/prigroup# newgrp tenis root@rhel65:~/prigroup# echo $SHLVL 2 root@rhel65: ~/prigroup# toque newgrp.txt root@rhel65:~/prigroup# ls -l total 0 -rw-r--r--. 1 tenis raíz 0 13 de abril 17:49 newgrp.txt -rw-r--r--. 1 raíz raíz 0 13 de abril 17:49 estándar.txt raíz@rhel65:~/prigroup# salir salir raíz@rhel65:~/prigroup#

utilidad vigr

Por analogía con la utilidad vipw, la utilidad vigr se puede utilizar para editar el archivo /etc/group manualmente, ya que bloquea correctamente este archivo durante el proceso de edición. El editor de texto vi o la utilidad vigr sólo pueden ser utilizados por administradores de sistemas experimentados para gestionar grupos de usuarios.

Tarea práctica: grupos de usuarios

Procedimiento correcto para realizar una tarea práctica: grupos de usuarios

1. Crear grupos de usuarios de tenis, fútbol y deportes.

Groupadd tenis; grupoañadir fútbol; grupoagregar deportes

2. Usando un comando, convierta al usuario venus en miembro de los grupos deportivos y de tenis.

Usermod -a -G tenis, deportes venus

3. Cambie el nombre del grupo de usuarios fotball a foot.

Groupmod -n fútbol de pies

4. Utilice el editor de texto vi para agregar el usuario serena al grupo de usuarios de tenis.

5. Utilice el comando id para asegurarse de que el usuario serena sea miembro del grupo de usuarios de tenis.

ID (después de cerrar sesión e iniciar sesión, el usuario serena debe ser miembro del grupo)

6. Responsabilizar a uno de los usuarios de gestionar la membresía de los usuarios en los grupos de pie y deportes. Comprobar la funcionalidad del mecanismo utilizado.

Gpasswd -A (para hacer que el usuario sea responsable de administrar la membresía del grupo de usuarios) gpasswd -a (para hacer que el usuario sea miembro del grupo de usuarios)

Creando un nuevo grupo en el sistema
Con este comando puede crear un nuevo grupo de usuarios (en adelante denominado grupo) grupo en el sistema:

Agregar un nuevo usuario al sistema
Nuevo Usuario usuario se puede agregar con el comando:


Se le colocará automáticamente en un grupo personalizado que llevará su nombre.
Para agregar un usuario usuario a un grupo existente grupo nosotros escribimos:

Con este comando, puedes agregar un usuario a varios grupos a la vez. Para ello, enumeramos los nombres de los grupos separados por comas.

Para agregar un usuario a un nuevo grupo con un nombre diferente al nombre de usuario, haga lo siguiente:

agregar usuario -g Nombre del grupo usuario

Este grupo será el grupo principal para el usuario.

Establecer una contraseña de usuario
Contraseña de usuario usuario viene dado por el comando:


Este comando le pedirá que ingrese su contraseña dos veces. ¡Nunca dejes a un usuario sin contraseña!
A veces es necesario impedir que un usuario inicie sesión. Por ejemplo, si solo necesita acceso a un recurso compartido de red. (Más sobre esto.) Para hacer esto, necesita cambiar el archivo contraseña con el siguiente comando:

En el campo de contraseña, agrego un asterisco "*" antes de la contraseña (este archivo se describe con más detalle al final del artículo). Guarda los cambios realizados y sal con las teclas. Ctrl+X, llave Y Confirmamos nuestra elección Para mayor seguridad, este archivo se puede editar con el comando. vipw. Para salir del editor mientras guarda los cambios, debe ejecutar :wq. Para salir sin guardar los cambios, escriba :q o :q! si se han realizado cambios.

Archivos de información del usuario
La siguiente información se proporciona para una mejor comprensión de la creación y el ajuste de usuarios del sistema. Para editar usuarios, en la mayoría de los casos será más fácil usar el comando mod de usuario. Puede obtener más información sobre este comando ejecutando

. Normalmente, los comandos anteriores son suficientes para agregar y editar un usuario.
Toda la información sobre los usuarios y grupos del sistema se almacena en los siguientes archivos:
- /etc/contraseña este archivo contiene la lista completa de usuarios que conoce el sistema. Cada línea de este archivo describe un usuario y contiene siete campos que contienen información del usuario. Los campos están separados por dos puntos.
1.
2. Contraseña de usuario cifrada (nunca deje este campo en blanco);
3. ID de usuario (UID);
4. ID de grupo (GID);
5. El campo GECOS, en el que se puede especificar el nombre completo del usuario, número de teléfono de casa, lugar de trabajo, etc.;
6. Ruta al directorio de inicio;
7. Shell de registro.

- /etc/sombra Las contraseñas se almacenan aquí de forma cifrada. Este archivo es de sólo lectura para el superusuario. Cada línea corresponde a un usuario. Contiene nueve campos separados por dos puntos:
1. Nombre de registro del usuario;
2. Contraseña de usuario cifrada;
3. Fecha en que se cambió la contraseña por última vez;
4. Número mínimo de días entre cambios de contraseña;
5. Número máximo de días entre cambios de contraseña;
6. Número de días antes de advertir sobre la caducidad de la contraseña;
7. Número de días hasta que caduque la contraseña;
8. Período de validez de la cuenta;
9. Un campo vacío reservado que no se utiliza.
Los campos de fecha de este archivo se completan con el número de días que han pasado desde el 1 de enero de 1970. ¡Los dos primeros campos deben ser completados!

- /etc/grupo contiene una lista de grupos y los nombres de los usuarios incluidos en estos grupos. Al igual que en los archivos anteriores, cada línea corresponde a un grupo y tiene cuatro campos, separados por dos puntos:
1. Nombre del grupo;
2. Contraseña o carácter cifrado X indicando el uso de un archivo sombra(cuándo conectar un usuario a un grupo usando la utilidad nuevogrp debe ingresar una contraseña);
3. ID de grupo (GID);
4. Una lista de miembros de este grupo, separados por comas.

Hay ocasiones en las que se hace necesario saber qué usuarios están registrados en el sistema operativo Linux. Esto puede ser necesario para determinar si hay usuarios redundantes o si algún usuario específico o un grupo completo de ellos necesita cambiar sus datos personales.

Las personas que utilizan este sistema con regularidad pueden hacerlo mediante varios métodos, pero para los principiantes esto es muy problemático. Por lo tanto, las instrucciones que se describirán a continuación ayudarán a un usuario inexperto a afrontar la tarea. Esto se puede hacer usando el incorporado Terminal o varios programas con interfaz gráfica.

Método 1: programas

En Linux/Ubuntu, puede administrar los usuarios registrados en el sistema mediante parámetros cuyo funcionamiento es proporcionado por un programa especial.

Desafortunadamente, los programas para el escritorio gráfico Gnome y Unity son diferentes. Sin embargo, ambos son capaces de proporcionar un conjunto de opciones y herramientas para verificar y editar grupos de usuarios en distribuciones de Linux.

Cuentas en Gnome

Primero debes abrir la configuración del sistema y seleccionar la sección llamada "Cuentas". Tenga en cuenta que los usuarios del sistema ya no se mostrarán aquí. La lista de usuarios registrados se encuentra en el panel de la izquierda; a la derecha hay un apartado para configurar y cambiar los datos de cada uno de ellos.

El programa Usuarios y Grupos en una distribución con el shell gráfico Gnome siempre se instala de forma predeterminada, pero si no lo encuentra en el sistema, puede descargarlo e instalarlo automáticamente ejecutando el comando en "Terminal":

sudo apt-get install unity-control-center

KUser en KDE

Existe una utilidad para la plataforma KDE, que es aún mucho más cómoda de usar. Se llama KUser.

La interfaz del programa muestra todos los usuarios registrados; si es necesario, también puede ver los usuarios del sistema. Este programa puede cambiar las contraseñas de los usuarios, moverlas de un grupo a otro, eliminarlas si es necesario, etc.

Al igual que Gnome, KDE viene con KUser instalado de forma predeterminada, pero se puede desinstalar. Para instalar la aplicación, ejecute el comando en "Terminal":

sudo apt-get instalar kuser

Método 2: Terminal

Este método es universal para la mayoría de distribuciones desarrolladas en base al sistema operativo Linux. El caso es que tiene un archivo especial en su software donde se ubica la información de cada usuario. Este documento se encuentra en:

Todas las entradas en él se presentan de la siguiente forma:

  • el nombre de cada usuario;
  • número de identificación único;
  • contraseña de identificación;
  • Identificación del grupo;
  • Nombre del grupo;
  • contenedor del directorio de inicio;
  • número de directorio personal.

Para aumentar la seguridad, la contraseña de cada usuario se almacena en el documento, pero no se muestra. En otras modificaciones de este sistema operativo, las contraseñas incluso se guardan en documentos separados.

Lista completa de usuarios

Puede redirigir a un archivo con datos de usuario guardados usando "Terminal" ingresando el siguiente comando en él:

Si el ID de usuario tiene menos de cuatro dígitos, entonces se trata de datos del sistema, en los que es muy indeseable realizar cambios. El hecho es que son creados por el propio sistema operativo durante el proceso de instalación para garantizar el funcionamiento más seguro de la mayoría de los servicios.

Nombres en la lista de usuarios

Vale la pena señalar que este archivo puede contener una gran cantidad de datos que no le interesan. Si solo necesita conocer los nombres y la información básica de los usuarios, puede filtrar los datos en el documento ingresando el siguiente comando:

sed "s/:.*//" /etc/contraseña

Ver usuarios activos

En un sistema operativo basado en Linux, puede ver no solo los usuarios que se han registrado, sino también aquellos que están actualmente activos en el sistema operativo y, al mismo tiempo, ver qué procesos están utilizando. Para tal operación, se utiliza una utilidad especial, llamada con el comando:

Esta utilidad emitirá todos los comandos ejecutados por los usuarios. Si usa simultáneamente dos o más comandos, también se mostrarán en la lista de salida.

Historial de navegación

Si es necesario, es posible analizar la actividad del usuario: averigüe la fecha de su último inicio de sesión. Se puede utilizar según el registro. /var/wtmp. Se llama ingresando el siguiente comando en la línea de comando:

fecha de la última actividad

Además, en el sistema operativo Linux, puede averiguar cuándo estuvo activo por última vez cada uno de los usuarios registrados; esto se hace mediante el comando último registro, ejecutado utilizando la solicitud del mismo nombre:

Este registro también muestra información sobre los usuarios que nunca han estado activos.

Conclusión

Como puedes ver, en "Terminal" proporciona información más detallada sobre cada usuario. Le permite saber quién inició sesión en el sistema y cuándo, determinar si lo estaban usando personas no autorizadas y mucho más. Sin embargo, para el usuario medio, sería mejor utilizar un programa GUI para no profundizar en la esencia de los comandos de Linux.

La lista de usuarios es bastante fácil de ver; lo principal es comprender sobre qué base funciona esta función del sistema operativo y para qué se utiliza.

La base para la distribución de los derechos de acceso en el sistema operativo Linux reside en el concepto de usuario. El usuario propietario del archivo recibe ciertos permisos para trabajar con él, es decir, para leer, escribir y ejecutar. Los permisos de lectura, escritura y ejecución también se configuran por separado para todos los demás usuarios. Dado que en Linux todo es un archivo, dicho sistema le permite regular el acceso a cualquier acción en este sistema operativo estableciendo derechos de acceso a los archivos. Pero incluso al crear Linux, los desarrolladores se dieron cuenta de que claramente esto no era suficiente.

Por eso se inventaron los grupos de usuarios. Los usuarios pueden unirse en grupos para otorgarles los permisos necesarios para acceder a ciertos archivos y, en consecuencia, a acciones. En este artículo veremos los grupos de usuarios en Linux, veremos por qué son necesarios, cómo agregar un usuario a un grupo y administrar grupos.

Como ya dije, los grupos en Linux aparecieron desde el comienzo del desarrollo de este sistema operativo. Fueron diseñados para mejorar las capacidades de gestión de derechos. Veamos un pequeño ejemplo, tomemos una organización en la que solo hay una computadora, tenemos administradores y usuarios. Cada persona tiene su propia cuenta en nuestro ordenador. Los administradores pueden personalizar el sistema, pero es mejor no dar rienda suelta a los usuarios para no romper algo. Por lo tanto, los administradores están unidos en el grupo de administración y se les da acceso a todos los equipos, de hecho, a todos los archivos en el directorio de desarrollo, y los usuarios están unidos en el grupo de usuarios, y este grupo tiene la capacidad de leer y escribir. archivos a un directorio común, con la ayuda del cual pueden compartir los resultados de su trabajo. Podríamos asignar derechos para cada usuario por separado, permitiéndole acceder a un archivo en particular, pero esto es demasiado inconveniente. Por eso se inventaron los grupos. Dices, está bien, ¿puedo nombrarte? Bueno, ahora imagina que nuestros usuarios son procesos. Aquí es donde la belleza de los grupos pasa a primer plano; los grupos se utilizan no tanto para proporcionar acceso a los usuarios sino para gestionar los derechos de los programas, especialmente su acceso al hardware. Se crean grupos separados para los servicios y el usuario en cuyo nombre se inicia un servicio puede ser miembro de varios grupos, lo que le proporciona acceso a ciertos recursos.

Ahora veamos cómo ver grupos de Linux.

Grupos en Linux

Todos los grupos creados en el sistema se encuentran en el archivo /etc/group. Al observar el contenido de este archivo, puede encontrar la lista de grupos de Linux que ya están en su sistema. Y te sorprenderás.

Además de la raíz y los usuarios estándar, aquí hay un par de docenas de grupos más. Estos son grupos creados por programas para controlar el acceso de esos programas a recursos compartidos. Cada grupo permite leer o escribir un archivo o directorio específico en el sistema, regulando así los permisos del usuario, y por tanto el proceso que se ejecuta como ese usuario. Aquí podemos considerar que un usuario es lo mismo que un proceso, porque el proceso tiene todos los derechos del usuario desde el que se inicia.

Echemos un vistazo más de cerca a cada uno de los grupos para comprender mejor por qué son necesarios:

  • demonio- Los servicios que necesitan la capacidad de escribir archivos en el disco se inician en nombre de este grupo y del usuario del demonio.
  • sistema- el grupo proporciona acceso a las fuentes del kernel e incluye archivos guardados en el sistema
  • sincronizar- le permite ejecutar el comando /bin/sync
  • juegos- Permite que los juegos escriban sus archivos de configuración y su historial en una carpeta específica
  • hombre- le permite agregar páginas al directorio /var/cache/man
  • lp- permite el uso de dispositivos de puerto paralelo
  • correo- le permite escribir datos en buzones de correo /var/mail/
  • apoderado- utilizado por servidores proxy, sin acceso para escribir archivos en el disco
  • www-datos- el servidor web comienza con este grupo, da acceso a la entrada /var/www, donde se encuentran los archivos del documento web
  • lista- le permite ver mensajes en /var/mail
  • no grupo- se utiliza para procesos que no pueden crear archivos en el disco duro, sino solo leerlos, generalmente se usa junto con el usuario nadie.
  • adm- le permite leer registros desde el directorio /var/log
  • tty- todos los dispositivos /dev/vca permiten acceso de lectura y escritura a usuarios de este grupo
  • disco- abre el acceso a los discos duros /dev/sd* /dev/hd*, podemos decir que esto es un análogo del acceso root.
  • marcar hacia afuera- acceso completo al puerto serie
  • CD ROM- acceso al CD-ROM
  • rueda- le permite ejecutar la utilidad sudo para escalar privilegios
  • audio- gestión de controladores de audio
  • src- acceso completo a las fuentes en el directorio /usr/src/
  • sombra- permite leer el archivo /etc/shadow
  • utmp- permite escribir en archivos /var/log/utmp /var/log/wtmp
  • video- le permite trabajar con el controlador de video
  • plugdev- permite montar dispositivos externos USB, CD, etc.
  • personal- permite escribir en la carpeta /usr/local

Ahora que sabe por qué usa grupos en Linux y cuáles son de forma predeterminada, veamos cómo administrar grupos de LInux.

Gestión de grupos de Linux

También puedes gestionar grupos mediante la interfaz gráfica. KDE tiene un programa llamado Kuser diseñado específicamente para esto, y en Gnome se hace usando la configuración del sistema. Además, las distribuciones populares tienen herramientas independientes, como YaST en OpenSUSE o Configuración de Ubuntu. Pero creo que lo resolverás con la interfaz gráfica. Y veremos cómo administrar grupos de Linux a través de la terminal. Primero, nos ocuparemos de los archivos y solo luego de los usuarios.

Cuando se crea un archivo, se le asigna el grupo principal del usuario que lo creó. Es así:

Aquí puedes ver que el propietario de todas las carpetas es sergiy y el grupo también es sergiy. Correcto, ya que estos usuarios fueron creados por mí. Pero vayamos más allá:

Aquí vemos que los dispositivos de disco sd* están asignados al grupo de discos, lo que significa que un usuario que pertenece a este grupo puede acceder a ellos. U otro ejemplo:

Todo es como comentamos en el párrafo anterior. Pero estos grupos no sólo pueden ser configurados por el sistema, sino que usted mismo puede cambiar manualmente los grupos de archivos; para ello existe el comando chgrp:

chgrp nombre_grupo nombre_archivo

Por ejemplo, creemos un archivo de prueba:

Y cambiemos el grupo por ello:

Si desea crear un grupo de Linux, puede hacerlo con el comando newgrp:

prueba sudo groupadd

La situación con los usuarios es un poco más complicada. El usuario tiene un grupo principal, que se especifica durante la creación, así como varios adicionales. El grupo principal se diferencia de los habituales en que todos los archivos en el directorio de inicio del usuario tienen este grupo, y cuando se cambia, el grupo de estos directorios también cambiará. Además, todos los archivos creados por el usuario reciben este grupo. Se necesitan grupos adicionales para que podamos permitir que los usuarios accedan a diferentes recursos agregándolos a estos grupos en Linux.

La gestión de grupos de Linux para un usuario se realiza mediante el comando usermod. Veamos su sintaxis y opciones:

Opciones de $usuario Nombre de usuario

  • -GRAMO- grupos adicionales a los que necesita agregar el usuario
  • -gramo cambiar el grupo principal para el usuario
  • -R eliminar un usuario de un grupo.

Puede agregar un usuario a un grupo usando el comando usermod:

sudo usermod -G -a nombre_de_grupo nombre de usuario

Puede agregar un usuario al grupo de Linux temporalmente usando el comando newgrp. Se abrirá un nuevo shell, y en él el usuario tendrá los permisos necesarios, pero luego de cerrar todo volverá como estaba:

sudo newgrp nombre_grupo

Como ejemplo, agreguemos nuestro usuario al grupo de discos para que podamos acceder directamente a los discos duros sin el comando sudo:

sudo usermod -G -a disco sergiy

Ahora puedes montar discos sin el comando sudo:

montar /dev/sda1 /mnt

Puede ver los grupos de Linux de los que el usuario es miembro con el comando:

También puedes usar el comando id. En el primer caso, simplemente vemos una lista de grupos de Linux; en el segundo, además se indica el grupo y la identificación del usuario. Para agregar un usuario a un grupo de Linux, use la opción -g para el grupo principal.

Mencioné las cuestiones de la membresía de los usuarios en un grupo, así como el hecho de que los usuarios y los grupos tienen sus propios UID Y GID. El tema de. Hoy me gustaría sistematizar el conocimiento sobre base de usuarios locales en Linux, cómo administrar usuarios y sobre ficheros responsables de la gestión de usuarios.

Linux es un sistema operativo multiusuario. Cada usuario en linux pertenece a uno grupo central y uno o más grupos adicionales. En Linux, como en la mayoría de los demás sistemas operativos, trabajar con los usuarios consta de un conjunto de las siguientes manipulaciones: agregar un usuario/grupo, eliminar un usuario/grupo, modificar la configuración de usuario/grupo. Estas manipulaciones se realizan mediante los comandos: agregar usuario, agregar grupo, agregar usuario, agregar grupo, modificar usuario, modificar grupo, y contraseña, gpasswd, identificación. Más detalladamente: También existen herramientas gráficas de administración de usuarios, generalmente se encuentran en el shell X en la sección Administración - Usuarios y Grupos.

Características de la gestión de usuarios en Linux.

Ejemplo de cómo agregar un usuario usando un shell:

User-add-server:~# groupadd test user-add-server:~# useradd -c "Test Test" -g test -m test user-add-server:~# passwd test Ingrese la nueva contraseña de UNIX: Vuelva a ingresar la nueva contraseña UNIX: passwd: contraseña actualizada correctamente user-add-server:~# id test uid=1001(test) gid=1001(test) groups=1001(test) user-add-server:~# ls -ld / inicio/prueba / drwxr-xr-x 2 prueba prueba 4096 16 de diciembre 10:24 /home/test/ usuario-add-server:~#

En el ejemplo, agregamos un grupo para un nuevo usuario (groupadd), luego creamos un nuevo usuario con el nombre completo Test Test, que tiene un grupo principal test y un test de inicio de sesión, luego configuramos una contraseña para el usuario test (passwd test) y verifique los parámetros del usuario creado (id y usuario del directorio creado /home/test/). El listado muestra que UID y GID son más de 1000. Esta característica es una señal usuario regular. Los valores inferiores a (inferiores a) 1000 (y en algunas distribuciones inferiores a 500) indican que el usuario está usuario del sistema.

Según el acuerdo, usuarios del sistema generalmente tiene una identificación menor que 100, y usuario root tiene una identificación igual a 0. La numeración automática de usuarios habituales comienza con valores UID_MIN , establecido en el archivo /etc/login.defs, este valor normalmente se establece en 500 o 1000.

Además cuentas de usuario regulares y cuenta de usuario raíz, normalmente hay varios en el sistema cuentas de propósito especial para demonios como FTP, SSH, correo, noticias, etc. Estas cuentas a menudo administran archivos, pero no se puede acceder a ellas mediante un inicio de sesión normal. Por eso suelen tener shell de inicio de sesión, definido como /sbin/nologin o /bin/falso por lo que los intentos de registrarse en el sistema fallarán.

En algunos sistemas, los comandos para agregar usuario tienen una funcionalidad ampliada. Es decir, por ejemplo, el comando useradd en las distribuciones Fedora y Red Hat por defecto crea un nuevo grupo para un nuevo usuario y para cancelar esta función se debe utilizar la opción -n. Para aclarar tales preguntas, debe consultar la documentación de distribución.

Cuando se elimina un usuario, su directorio no se elimina. Como resultado, puedes obtener una situación interesante:

User-add-server:~# userdel test user-add-server:~# groupdel test user-add-server:~# ls -ld /home/test/ drwxr-xr-x 2 1001 1001 4096 16 de diciembre 10:24 /home/test/ user-add-server:~# groupadd test123 user-add-server:~# useradd -c "Prueba de prueba" -g test123 -m test123 user-add-server:~# ls -ldn /home/ prueba* drwxr-xr-x 2 1001 1001 4096 16 de diciembre 14:30 /home/test drwxr-xr-x 2 1001 1001 4096 16 de diciembre 14:29 /home/test123 usuario-add-server:~# ls -ld / inicio/prueba* usuario-agregar-servidor:~# ls -ld /home/test* drwxr-xr-x 2 test123 test123 4096 16 de diciembre 10:24 /home/test drwxr-xr-x 2 test123 test123 4096 16 de diciembre 14 :25 /home/test123 user-add-server:~# passwd test123 Ingrese la nueva contraseña de UNIX: Vuelva a ingresar la nueva contraseña de UNIX: passwd: contraseña actualizada correctamente user-add-server:~# su -l test123 test123@user-add - servidor:~$ pwd /home/test123 test123@user-add-server:/home/mc-sim$ ls /home/ mc-sim test test123 test123@user-add-server:~$ cd /home/mc- sim / test123@user-add-server:/home/mc-sim$ ls -la total 24 drwxr-xr-x 2 mc-sim mc-sim 4096 15 de noviembre a las 12:31. drwxr-xr-x 6 raíz raíz 4096 16 de diciembre 14:25 .. -rw------- 1 mc-sim mc-sim 99 15 de noviembre 13:45 .bash_history -rw-r--r-- 1 mc-sim mc-sim 220 1 de octubre 17:42 .bash_logout -rw-r--r-- 1 mc-sim mc-sim 3116 1 de octubre 17:42 .bashrc -rw-r--r-- 1 mc- sim mc-sim 675 1 de octubre 17:42 .profile test123@user-add-server:/home/mc-sim$ rm /home/mc-sim/.bash_logout rm: eliminar archivo normal protegido contra escritura `/home/mc -sim/.bash_logout"? y rm: no se puede eliminar `/home/mc-sim/.bash_logout": Permiso denegado test123@user-add-server:/home/mc-sim$ rm /home/test/.bashrc prueba123@usuario-añadir-servidor:/home/mc-sim$

En el ejemplo anterior nosotros eliminar usuario y grupo prueba, creado anteriormente. En este caso, el directorio de este usuario permaneció intacto. Como puede verse en el listado, los derechos del directorio permanecieron durante identificación 1001. Luego, nosotros crear un nuevo usuario y grupo, pero con un nombre diferente - prueba123. Este usuario está asignado UID Y GID- un usuario previamente existente prueba. Mirando la lista de directorios que comienzan con /casa/prueba*con llave -norte y sin él, vemos lo que pasó: el directorio de usuarios prueba pasó a ser propiedad del usuario prueba123¿Qué nos dicen los derechos de acceso? -rw-r--r-- prueba123 prueba123. Iniciar sesión como usuario prueba123 y comprobar los derechos de acceso al directorio /casa/prueba Intentamos eliminar el archivo y también intentamos eliminar el archivo del directorio del tercer usuario: mc-sim. Este ejemplo ilustra bien que en Linux todo está vinculado a identificadores.

Administrar bases de datos de usuarios y grupos en Linux

Los archivos principales que contienen información sobre usuarios y grupos son cuatro archivos en el directorio. /etc.

/etc/contraseña

archivo de contraseña que contiene información básica sobre los usuarios

/etc/sombra

archivo de contraseña cifrada en la sombra que contiene contraseñas cifradas

/etc/grupo

Archivo de grupos que contiene información básica sobre grupos y usuarios que pertenecen a estos grupos.

/etc/gshadow

Archivo de grupos ocultos que contiene contraseñas de grupo cifradas.

No se recomienda editar estos archivos con un editor de texto normal. Ellos (archivos) se actualizan cuando se ejecutan los comandos anteriores y, cuando se modifican, se bloquean y sincronizan.

Si todavía existe una necesidad urgente de editar los archivos especificados, utilice el comando vipw puedes editar el archivo de forma segura /etc/contraseña, y usando el comando vigr es seguro editar el archivo /etc/grupo. Estos comandos bloquearán los archivos necesarios mientras se realizan cambios utilizando la ayuda. Si realiza cambios en el archivo /etc/contraseña, equipo vipw le pedirá que compruebe si el archivo también necesita actualizarse /etc/sombra. De manera similar, si actualiza un archivo /etc/grupo Usando el comando vigr, recibirá un mensaje que le indicará que necesita actualizar el archivo. /etc/gshadow. Si necesita eliminar administradores de grupo, debe usar el comando vigr, desde el comando gpasswd Sólo permite agregar administradores.

Tenga en cuenta que en los sistemas modernos, archivos passwd y de grupo no almacene contraseñas en texto claro. Esto se hace por razones de seguridad. Sami archivos passwd y de grupo debería ser legible para todos, y las contraseñas cifradas no deberían ser legibles para todos. Es por eso Las contraseñas cifradas se almacenan en archivos ocultos., y estos archivos solo son legibles por el usuario root. El acceso necesario para cambiar los datos de autenticación lo proporciona un programa suid, que tiene privilegios de root pero que puede ejecutar cualquier usuario.

Archivo /etc/contraseña

usuario-add-server:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash lp:x:7:7:lp:/var/spool/lpd:/bin/ sh sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin test123:x:1001:1001:Prueba Prueba:/home/test123:/bin/sh

El archivo /etc/passwd contiene una línea para cada usuario del sistema. Cada línea contiene siete campos separados por dos puntos (:), una descripción de los campos utilizando el usuario root como ejemplo:

campo significado descripción
Nombre de usuario raíz nombre utilizado para iniciar sesión (iniciar sesión)
Contraseña X contraseña de usuario (si está cifrada, use - x)
identificación de usuario (UID) 0 ID de usuario
identificación de grupo (GID) 0 Identificación del grupo