Listando usuários em um grupo
Publicado por Robson Assis Candido Pereira Faria (última atualização em 16/05/2014)
[ Hits: 15.856 ]
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
Backup individual de contas no ZIMBRA MAIL
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - ATUALIZANDO QUOTA
Bloqueando o acesso à internet
Verifica últimos arquivos criados
Nenhum comentário foi encontrado.
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









