Listando usuários em um grupo

Publicado por Robson Assis Candido Pereira Faria (última atualização em 16/05/2014)

[ Hits: 15.344 ]

Homepage: http://iniciantedigital.blogspot.com/

Download lgroup




Script para listar usuários em um grupo.

Os script está em inglês, mas manipula grupos dentro do GNU/Linux ou HP-UX.

Funções:
- Lista usuários dentro de um grupo, sendo ele primário ou secundário.
- Lista usuários que tem o grupo como primário somente ou como secundário, de acordo com a opção escolhida.
- Exibe o ID do grupo (GID).
- Lista todos os grupos da máquina em ordem crescente.

Na dúvida use o comando lgroup com a opção "--help":

$ lgroup --help

Options to list group:
Use lgroup [option] [group] or lgroup [group] to list all users in primary and secundary group
-p : List only users in primary group
-s : List only users in secundary group
-v : List all users in verbose mode
-i : Show the group GID
-l : List all groups in /etc/group


O objetivo é facilitar a manipulação de grupos no GNU/Linux ou sistemas UNIX HP-UX, não testado em todas as distribuições.

  



Esconder código-fonte

#! /bin/sh


if [ "$2" != "" ]; then

group=$2;

var=$1;

groupid=`cat /etc/group | grep "^$group:" | awk -F ":" '{ print $3}'`;


    if [ "$groupid" != "" ]; then

    case $var in

        "-p" )
            cat /etc/passwd | awk -F ":" '{print $4":"$1}' | grep "$groupid:" | awk -F ":" '{print $2}';
        ;;

        "-s" )
            cat /etc/group | grep  "^$group:" | awk -F ":" '{ print $4}' | tr "," "\n";
        ;;

        "-v" )

            echo "primary:";
            cat /etc/passwd | awk -F ":" '{print $4":"$1}' | grep "$groupid:" | awk -F ":" '{print $2}';
            echo "";
            echo "secundary:";
            cat /etc/group | grep  "^$group:" | awk -F ":" '{ print $4}' | tr "," "\n";

        ;;

        "-i")
            echo "$group:"
            cat /etc/group | grep $group | awk -F ":" '{ print "gid ("$3")"}';

    esac

   else echo "Can't find group $group";

   fi

elif [ "$1" == "--help" ]; then

            echo -e "\n"
        echo "Options to list group:";
                echo "Use lgroup [option] [group] or lgroup [group] to list all users in primary and secundary group";
                echo "-p : List only users in primary group";
                echo "-s : List only users in secundary group";
                echo "-v : List all users in verbose mode";
        echo "-i : Show the group GID";
        echo "-l : List all groups in /etc/group";
        echo -e "\n\n"

elif [ "$1" == "-l" ]; then

    cat /etc/group | awk -F ":" '{ print $3":"$1}' | sort -n | awk -F ":" '{ print "group("$2") gid("$1")"}';

else

        group=$1;
        groupid=`cat /etc/group | grep "^$group:" | awk -F ":" '{ print $3}'`;

      if [ "$groupid" != "" ]; then

        cat /etc/group | grep  "^$group:" | awk -F ":" '{ print $4}' | tr "," "\n"

        cat /etc/passwd | awk -F ":" '{print $4":"$1}' | grep "$groupid:" | awk -F ":" '{print $2}'
      else echo -e "\nPlease enter option and group or put --help to get help\n";

      fi

fi

Scripts recomendados

Liberar acesso por MAC/IP

Correção do arquivo status

Desligar máquinas virtuais Xen

Aplicando layer7 sem digitar uma linha de código sequer

Um super limpador do sistema KDu


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts