Listando usuários em um grupo
Publicado por Robson Assis Candido Pereira Faria (última atualização em 16/05/2014)
[ Hits: 15.351 ]
Homepage: http://iniciantedigital.blogspot.com/
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.
#! /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
IFINFO - informações de sua interface de rede
configurar a rede wireless passando por roteador (melhorado e comentado)
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Excluir banco de dados no xampp (1)
phpmyadmin não abre no xampp (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta