{"id":117584,"date":"2022-08-24T18:54:15","date_gmt":"2022-08-24T18:54:15","guid":{"rendered":"https:\/\/magazineoffice.com\/como-enumerar-todos-los-usuarios-en-un-grupo-en-linux\/"},"modified":"2022-08-24T18:54:16","modified_gmt":"2022-08-24T18:54:16","slug":"como-enumerar-todos-los-usuarios-en-un-grupo-en-linux","status":"publish","type":"post","link":"https:\/\/magazineoffice.com\/como-enumerar-todos-los-usuarios-en-un-grupo-en-linux\/","title":{"rendered":"C\u00f3mo enumerar todos los usuarios en un grupo en Linux"},"content":{"rendered":"


\n<\/p>\n

\n<\/p>\n
fatmawati achmad zaenuri\/Shutterstock.com<\/span><\/figcaption><\/figure>\n

En Linux, los archivos tienen tres conjuntos de permisos. Un conjunto es para el grupo del archivo. Antes de asignar un archivo a un grupo, es posible que desee comprobar qui\u00e9nes son los miembros del grupo.<\/p>\n

Permisos de archivos y directorios<\/h2>\n

Los archivos y directorios en Linux tienen un conjunto de permisos para el propietario, otro conjunto para el grupo al que est\u00e1 asignado el archivo y permisos para todos los que no est\u00e1n en una de las dos categor\u00edas anteriores.<\/p>\n

Cada conjunto de permisos define si los miembros de esa categor\u00eda pueden leer, escribir o ejecutar el archivo. En el caso de un directorio, la acci\u00f3n de ejecuci\u00f3n equivale a poder cd<\/code> en el directorio.<\/p>\n

El grupo predeterminado para un archivo o directorio es el grupo predeterminado del propietario. Esa suele ser la persona que lo cre\u00f3. Los permisos de grupo se utilizan para permitir que una colecci\u00f3n de usuarios tenga acceso controlado a los archivos y directorios de los otros miembros de ese grupo.<\/p>\n

Por ejemplo, puede tener un equipo de desarrolladores, un equipo de documentaci\u00f3n, un equipo de investigaci\u00f3n, etc. Los miembros de cada equipo se pueden agregar a un grupo con el nombre adecuado para facilitar la colaboraci\u00f3n. Los usuarios pueden estar en muchos grupos a la vez.<\/p>\n

Es un esquema simple pero robusto. Pero si sus archivos son confidenciales, puede sentirse m\u00e1s feliz verificando qui\u00e9nes son los miembros del grupo antes de compartir su trabajo con ellos. Hay maneras diferentes de hacer esto. Pero toma nota. Los dos m\u00e9todos recomendados con m\u00e1s frecuencia son problem\u00e1ticos.<\/p>\n

RELACIONADO:<\/strong> C\u00f3mo usar el comando chgrp en Linux<\/em><\/strong><\/p>\n

El archivo \/etc\/groups<\/h2>\n

El archivo \u201c\/etc\/group\u201d contiene dos puntos \u201c:<\/code>\u201d lista delimitada de grupos y miembros del grupo. Cada l\u00ednea tiene cuatro campos.<\/p>\n

    \n
  • Nombre<\/strong>: El nombre \u00fanico del grupo.<\/li>\n
  • Clave<\/strong>: No utilizado. Esto siempre contendr\u00e1 \u00abx\u00bb.<\/li>\n
  • Identificaci\u00f3n del grupo<\/strong>: El identificador de grupo \u00fanico.<\/li>\n
  • Usuarios<\/strong>: Una lista delimitada por comas de los miembros del grupo. La lista suele estar vac\u00eda para las cuentas del sistema y daemon.<\/li>\n<\/ul>\n

    Para volcar el contenido del archivo a la ventana del terminal, puede usar cat<\/code>pero es m\u00e1s conveniente poder desplazarse por el contenido del archivo con less<\/code>.<\/p>\n

    less \/etc\/group<\/pre>\n

    \"Uso<\/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

    \"La<\/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>\n

    grep \"dave\" \/etc\/group<\/pre>\n

    \"La<\/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>\n

    El 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>\n

    Por 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

      \"La<\/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>\n

      grep \"^devteam\" \/etc\/group<\/pre>\n

      \"Usando<\/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>\n

      getent group<\/pre>\n

      \"Usando<\/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

      \"La<\/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>\n

      getent group devteam<\/pre>\n

      \"Usando<\/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>\n

      El 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>\n

      Adem\u00e1s, el comando se llama lid<\/code> en Fedora y Manjaro, pero en Ubuntu, necesitas usar libuser-lid<\/code>.<\/p>\n

      Para instalar el comando en Ubuntu, escriba:<\/p>\n

      sudo apt install libuser<\/pre>\n

      \"Instalaci\u00f3n<\/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>\n

      yay libuser<\/pre>\n

      \"Instalaci\u00f3n<\/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>\n

      sudo libuser-lib dave<\/pre>\n

      \"Usar<\/p>\n

      Para ver los miembros de un grupo, utilice el -g<\/code> (grupo) junto con el nombre del grupo.<\/p>\n

      sudo libuser-lid -g devteam<\/pre>\n

      \"usando<\/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>\n

      Veamos algunos usuarios con el groups<\/code> dominio.<\/p>\n

      groups\u00a0abigail<\/pre>\n
      groups hayden<\/pre>\n
      groups francis<\/pre>\n

      \"Usando<\/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>\n

        id abigail<\/pre>\n
        id francis<\/pre>\n

        \"Usando<\/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>\n

        El 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>\n

        El 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