GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de administrador de sistemas de Linux:administración de cuentas de usuario con UID y GID

Al igual que muchas tareas y deberes de los administradores de sistemas, la administración de cuentas de usuario no es solo una cosa, ni existe en el vacío. La administración de cuentas de usuario es un aspecto de trabajo continuo y tiene muchas facetas:creación de cuentas, eliminación de cuentas, manipulación de permisos, caducidad de cuentas, establecimiento de estándares de contraseñas, cumplimiento de seguridad, cumplimiento de cambios de contraseña y manipulación de UID y GID para mantener un sistema organizado y soportable. La primera parte se centró en los comandos útiles. Este artículo actual trata sobre la gestión de los ID de usuario (UID) y los ID de grupo (GID).

Introducción a UID y GID

De forma predeterminada, los sistemas Linux asignan automáticamente UID y GID a las nuevas cuentas de usuario en orden numérico a partir de 1000. En otras palabras, si crea una nueva cuenta de usuario durante la instalación, tendrá UID =1000 y GID =1000, como se muestra a continuación:

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash

La teoría detrás de esta asignación arbitraria es que todo lo que esté por debajo de 1000 está reservado para cuentas del sistema, servicios y otras cuentas especiales, y los UID y GID de usuarios normales permanecen por encima de 1000. Esta teoría se basa en la suposición de que 999 números de cuenta menos algunos pre- los asignados serán más que suficientes para satisfacer la mayoría de los sistemas durante muchos años. Como administrador de Linux durante más de 20 años, personalmente nunca me he quedado sin esos primeros números de cuenta del sistema 999.

La cuenta raíz tiene el increíble privilegio de tener UID =0 y GID =0. Estos números son los que le dan a la cuenta raíz su poder abrumador. Si no me cree, cambie el nombre de la cuenta raíz a goonygoogoo , o lo que elija, y luego cree una nueva cuenta de usuario llamada root , lo que permite que el sistema le asigne el siguiente UID y GID disponible. Esta cuenta no tiene más poder que cualquier otra cuenta de usuario en el sistema. No es el nombre, sino el UID y el GID lo que le da poder a la cuenta de administración. Para probar aún más esta afirmación, asigne una cuenta de usuario de prueba con 0 para el UID y el GID, y ese usuario ahora es raíz, independientemente del nombre de la cuenta.

Como puede ver en la lista a continuación, a las cuentas de usuario (como se indicó anteriormente) se les asignan UID y GID en orden numérico desde 1000. El UID y el GID siempre coinciden para mantener las cosas organizadas:

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash
msmith:x:1001:1001::/home/msmith:/bin/bash
mjones:x:1003:1003:Mary Jones:/home/mjones:/bin/bash
jjones:x:1004:1004:John Jones:/home/jjones:/bin/bash
djones:x:1005:1005:Don Jones:/home/djones:/bin/bash

No hay magia en esta configuración. El sistema lo hace. No tengo que preocuparme por eso.

Pero, ¿qué sucede si sus políticas son diferentes con respecto a la información de usuarios y grupos? Es posible que su empresa quiera que se asignen UID y GID en función de la identificación del empleado o algún otro identificador único (con suerte, no el número de seguro social, aunque he visto que este número se usa en la práctica). O, ¿qué sucede si desea asignar GID específicos en función de los roles? en lugar de agregar usuarios a un GID en /etc/group ? Bueno, es bastante fácil hacer algo de esto con useradd comando de mi artículo anterior sobre este tema, que cubría los conceptos básicos de administración de cuentas de usuario.

La siguiente es la lista de usuarios de /etc/group :

khess:x:1000:
msmith:x:1001:
mjones:x:1003:
jjones:x:1004:
djones:x:1005:

Personalizar UID y GID

Tradicionalmente, los administradores que desean agregar un usuario a grupos no principales lo hacen en el momento de la creación de la cuenta, usando el useradd herramienta con la -G cambiar. Asegúrese de enumerar todos los grupos secundarios después de -G interruptor, separados por comas sin espacios. El siguiente comando permite que el sistema elija el UID y el GID principal del siguiente número disponible, pero agrega el usuario jdoe al sysadmin y helpdesk grupos:

$ sudo useradd -G sysadmin,helpdesk jdoe

Si desea especificar el grupo principal con -g switch, el grupo ya debe existir. Por ejemplo, si ingresa el siguiente comando:

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Obtendrá el error "useradd:el grupo '10600' no existe", y el sistema no creará la cuenta. Si debe especificar el grupo, agregue el grupo primero:

$ groupadd 10600

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Administración de permisos de grupo

Cuando los usuarios crean archivos, el propietario del usuario obtiene permisos de lectura (r) y escritura (w), el grupo obtiene permiso de lectura y otros obtienen permiso de lectura (rw-r--r--), o en términos numéricos, 644. El permiso de ejecución (x) no se otorga de forma predeterminada. Entonces, como administrador del sistema, si un miembro del grupo solicita que se coloque un permiso de ejecución en un archivo o grupo de archivos, conceda permiso de ejecución solo para el grupo:

$ sudo chmod g+x coolscript.sh

El usuario puede cambiar el permiso por sí mismo si es el propietario del usuario, pero a menudo no lo hará por temor a hacerlo incorrectamente. Solo el propietario del usuario o el usuario raíz pueden cambiar los permisos en un archivo, incluso si el grupo tiene permiso de escritura en el archivo. El permiso de escritura significa que un miembro del grupo puede editar o eliminar el archivo.

Asegúrese de que los directorios de grupos compartidos tengan acceso de escritura (permiso) para el grupo y que los archivos que los miembros del grupo deben modificar también tengan acceso de escritura. Algunos de ustedes que tienen un conocimiento de permisos más avanzado probablemente se pregunten por qué no menciono el chattr (cambiar atributos) comando, y es una pregunta válida. El chattr El comando está fuera del alcance de este artículo pero se tratará en un artículo posterior que se centra únicamente en chattr y sus múltiples opciones.

Conclusión

Este artículo proporciona una breve cobertura de los atributos UID y GID y cómo manipularlos si es necesario. También cubrí un poco sobre los permisos de grupo. En un artículo futuro, cubriré el chattr comando que le brinda opciones para evitar la eliminación accidental por parte de los miembros del grupo. Si desea seguir leyendo, hágalo con precaución. El chattr El comando puede ser frustrante para los nuevos administradores que no están familiarizados con su sintaxis y las consecuencias de las opciones.

[¿Quiere probar Red Hat Enterprise Linux? Descárgalo ahora gratis. ]


Linux
  1. Gestión de paquetes de Linux con apt

  2. 11 formas de encontrar información de cuenta de usuario y detalles de inicio de sesión en Linux

  3. Herramientas de administrador de sistemas:visualización de texto en Linux con cola y cabeza

  4. Cómo trabajar con usuarios y grupos en Linux

  5. Conceptos básicos de usuario y base de datos MySQL

Gestión de paquetes de Linux con dnf

Una guía del administrador de sistemas para la administración de redes

Primeros pasos con GIT en Linux

Conceptos básicos de administrador de sistemas de Linux:iniciar NIC en el arranque

Gestión de paquetes de Linux con YUM y RPM

Conceptos básicos de la línea de comandos de Linux:trabajar con archivos y directorios