Listando usuários em um grupo
Publicado por Robson Assis Candido Pereira Faria (última atualização em 16/05/2014)
[ Hits: 15.151 ]
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
Criação de pasta com senha no Apache
Dicionário e tradutor baseado no Michaelis
slacklibre - Seu Slackware 100% Livre
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Dificuldade de instalar Apache Office no Zorin17 (1)
Como saber quantas impressões foram feitas pela impressora? (3)
Altera pacote .pkg.tar do Arch Linux (17)