Listando usuários em um grupo
Publicado por Robson Assis Candido Pereira Faria (última atualização em 16/05/2014)
[ Hits: 15.736 ]
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
Barra de Progresso com Shell Script
Identifica contatos do google que necessitam de ajustes para o nono digito telefonico
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









