less<\/code>.<\/p>\nless \/etc\/group<\/pre>\n<\/p>\n
La mayor\u00eda de las entradas en la parte superior de la lista no tienen miembros, aunque el grupo \u00abadm\u00bb tiene dos y el grupo \u00abcdrom\u00bb tiene uno.<\/p>\n
<\/p>\n
Si queremos descubrir los grupos en los que se encuentra un usuario concreto, podemos utilizar grep<\/code> para buscar entradas con su nombre de cuenta de usuario. Esta no es nuestra tarea actual. Queremos ver a todos los que son miembros de un grupo, no a los grupos a los que pertenece una persona. Pero es instructivo para nosotros echar un vistazo.<\/p>\ngrep \"dave\" \/etc\/group<\/pre>\n<\/p>\n
Las entradas que contienen la cadena \u00abdave\u00bb se enumeran para nosotros. Y escondido entre ellos hay una se\u00f1al de que las cosas podr\u00edan no ser tan simples como pens\u00e1bamos.<\/p>\n
Cuando se agrega un usuario a Linux, la acci\u00f3n predeterminada es colocarlo en un grupo con el mismo nombre que su cuenta de usuario. este es su primario<\/em> grupo. Cualquier otro grupo al que se agreguen se conoce como secundario<\/em> grupos<\/p>\nEl problema es que los usuarios no aparecen como miembros de sus grupos primarios<\/em>. Es por eso que el grupo \u00abdave\u00bb no muestra ning\u00fan miembro, aunque el usuario \u00abdave\u00bb es miembro de ese grupo.<\/p>\nPor supuesto, los administradores del sistema pueden cambiar el grupo principal de cualquier usuario por el de cualquier otro grupo. Eso significa que un usuario puede ser miembro de cualquier grupo, pero no aparecer\u00e1 como tal en el archivo \u201c\/etc\/group\u201d. Ese es un problema.<\/p>\n
El segundo problema es que el archivo \u201c\/etc\/group\u201d no es una \u00fanica fuente de informaci\u00f3n. Las instalaciones modernas de Linux pueden almacenar informaci\u00f3n de usuarios y grupos en m\u00e1s lugares que \u00ab\/etc\/passwd\u00bb y \u00ab\/etc\/group\u00bb, especialmente en situaciones corporativas donde se implementan servicios como el Protocolo ligero de acceso a directorios. Al mirar solo en un lugar, es posible que no est\u00e9 viendo el panorama general.<\/p>\n
En nuestro escenario de prueba, creamos cuatro grupos para un departamento de desarrollo. Est\u00e1n:<\/p>\n
\n- volver a vapor<\/strong>: El equipo de investigaci\u00f3n.<\/li>\n
- equipo de desarrollo<\/strong>: El equipo de desarrollo.<\/li>\n
- equipo pvq<\/strong>: El equipo de verificaci\u00f3n y calidad del producto.<\/li>\n
- equipo de doctor<\/strong>: El equipo de documentaci\u00f3n.<\/li>\n<\/ul>\n
Agregamos personas a estos equipos. Algunas personas est\u00e1n en m\u00e1s de un equipo. Si abrimos el archivo \u201c\/etc\/group\u201d en less<\/code> y despl\u00e1cese hasta la parte inferior del archivo, veremos los nuevos grupos y miembros del grupo. Al menos, tantos miembros como conozca el archivo \u201c\/etc\/group\u201d.<\/p>\n<\/p>\n
Si queremos extraer un solo grupo, podemos buscar usando grep<\/code>. el intercalado\u201d^<\/code>\u201d representa el comienzo de una l\u00ednea.<\/p>\ngrep \"^devteam\" \/etc\/group<\/pre>\n<\/p>\n
Esto extrae la entrada \u00abdevteam\u00bb del archivo y enumera todos los miembros del grupo. \u00bfO s\u00ed?<\/p>\n
El Comando getente<\/h2>\n
los getent<\/code> El comando comprueba varias bases de datos para obtener informaci\u00f3n sobre grupos de usuarios, no solo \u00ab\/etc\/group\u00bb. usaremos getent<\/code> para mostrarnos los grupos de usuarios.<\/p>\ngetent group<\/pre>\n<\/p>\n
Usando getent<\/code> con el group<\/code> produce, en esta m\u00e1quina de prueba, los mismos resultados que usando el archivo \u201c\/etc\/group\u201d. Eso es porque no usamos LDAP ni ning\u00fan otro servicio de nombres centralizado. As\u00ed que no hay otras fuentes para getent<\/code> hacer referencia a.<\/p>\n<\/p>\n
Entonces, no sorprende que los resultados coincidan con los del archivo \u201c\/etc\/group\u201d. Quiz\u00e1s lo que estamos viendo realmente es la realidad de la situaci\u00f3n. Tal vez todo es sencillo y, en esta computadora, \u00bflo que ves es lo que obtienes? Reserv\u00e9monos el juicio sobre eso.<\/p>\n
los getent<\/code> comando puede mirar un solo grupo para nosotros. Veremos el grupo \u00abdevteam\u00bb.<\/p>\ngetent group devteam<\/pre>\n<\/p>\n
Obtenemos exactamente los mismos resultados que antes. Sin embargo, hay una manera de profundizar m\u00e1s.<\/p>\n
RELACIONADO:<\/strong> C\u00f3mo listar usuarios en Linux<\/em><\/strong><\/p>\nEl comando de la tapa<\/h2>\n
los lid<\/code> El comando es parte del libuser<\/code> colecci\u00f3n de herramientas. Ya estaba instalado en nuestra computadora de prueba Fedora 36, \u200b\u200bpero ten\u00eda que instalarse en Ubuntu 22.04 y Manjaro 21.<\/p>\nAdem\u00e1s, el comando se llama lid<\/code> en Fedora y Manjaro, pero en Ubuntu, necesitas usar libuser-lid<\/code>.<\/p>\nPara instalar el comando en Ubuntu, escriba:<\/p>\n
sudo apt install libuser<\/pre>\n<\/p>\n
En Manjaro, libuser<\/code> se instala desde AUR, por lo que deber\u00e1 usar su ayudante AUR favorito. Nosotros usamos yay<\/code>.<\/p>\nyay libuser<\/pre>\n<\/p>\n
Puedes usar libuser-lid<\/code> para mostrar informaci\u00f3n de grupo sobre grupos o usuarios. Para mostrar los grupos en los que se encuentra una persona, pase su nombre de cuenta de usuario en la l\u00ednea de comando. En Fedora y Manjaro recuerda usar lid<\/code> en vez de libuser-lid<\/code>.<\/p>\nsudo libuser-lib dave<\/pre>\n<\/p>\n
Para ver los miembros de un grupo, utilice el -g<\/code> (grupo) junto con el nombre del grupo.<\/p>\nsudo libuser-lid -g devteam<\/pre>\n<\/p>\n
He aqu\u00ed que un usuario llamado \u201cfrancis\u201d ha aparecido como miembro de la lista. Esta es la primera vez que lo hemos visto. No aparece en \u201c\/etc\/group\u201d y getent<\/code> tampoco lo descubri\u00f3.<\/p>\nVeamos algunos usuarios con el groups<\/code> dominio.<\/p>\ngroups\u00a0abigail<\/pre>\ngroups hayden<\/pre>\ngroups francis<\/pre>\n<\/p>\n
\n- El usuario \u00ababigail\u00bb est\u00e1 en un grupo llamado \u00ababigail\u00bb y otros dos grupos, \u00abresteam\u00bb y \u00abdevteam\u00bb.<\/li>\n
- El usuario \u00abhayden\u00bb est\u00e1 en un grupo llamado \u00abhayden\u00bb y otros dos grupos, \u00abpvqteam\u00bb y \u00abdocteam\u00bb.<\/li>\n
- El usuario \u00abfrancis\u00bb est\u00e1 en un solo grupo, el grupo \u00abdevteam\u00bb. Es notable que sean no<\/em> en un grupo llamado \u201cfrancis\u201d.<\/li>\n<\/ul>\n
Sabemos que cada usuario debe ser miembro de un grupo principal y que, de manera predeterminada, el grupo principal tiene un GID y un nombre que coinciden con el UID y el nombre de la cuenta del usuario. Parecer\u00eda que hay algo diferente en el usuario \u00abfrancis\u00bb.<\/p>\n
usemos el id<\/code> comando y ver lo que nos dicen los UID y GID.<\/p>\nid abigail<\/pre>\nid francis<\/pre>\n<\/p>\n
El usuario \u00ababigail\u00bb tiene un UID de 1002 y un GID de 1002. Est\u00e1n en tres grupos, uno de los cuales se llama \u00ababigail\u00bb. Tiene un GID de 1002. Este es su defecto<\/em> grupo primario.<\/p>\nEl usuario \u00abfrancis\u00bb tiene un GID de 1019, que coincide con el GID del grupo \u00abdevteam\u00bb. A este usuario se le ha asignado un nuevo grupo principal o el grupo \u00abdevteam\u00bb se estableci\u00f3 como su grupo principal cuando se agreg\u00f3 este usuario al sistema.<\/p>\n
Cualquiera que fuera, s\u00f3lo libuser-lid<\/code> los detect\u00f3 e inform\u00f3 de su presencia en el grupo \u00abdevteam\u00bb.<\/p>\nEl diablo est\u00e1 en los detalles<\/h2>\n
As\u00ed que es importante ver los detalles genuinos.<\/p>\n
Los grupos son una excelente manera de establecer una colaboraci\u00f3n, siempre y cuando sepa con qui\u00e9n la est\u00e1 abriendo.<\/p>\n
RELACIONADO:<\/strong> C\u00f3mo cambiar los datos de usuario con chfn y usermod en Linux<\/em><\/strong><\/p>\n<\/div>\n