Listando usuários em um grupo
Publicado por Robson Assis Candido Pereira Faria (última atualização em 16/05/2014)
[ Hits: 15.371 ]
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
Script para rodar software Mr Bayes em paralelo
Go Script - Inicia sessões ssh
Auto-installer ISP Config 3 - FC 11
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (6)