Listar os usuários do sistema

Publicado por Gabriel Ortiz Lour 18/08/2006

[ Hits: 27.987 ]

Homepage: linuxrox.no-ip.org

Download listaUsuarios.sh




Esta função em Shell script lista todos os usuários do sistema (usuários com ID >= 1000 e com diretório /home/[nome do usuário]. Útil para script sque precisem modificar configurações dos usuários já existentes, ou para o que você imaginar. Exemplo de utilização: for USR in `lista_usuarios`; do echo "Usuario $USR" ; done

  



Esconder código-fonte

#! /bin/sh

# Funcao que lista os usuarios comuns (ID >= 1000) do sistema
lista_usuarios() {
        LISTA=`cat /etc/passwd | tr " " "-" | grep "/home/"`
        for LIN in $LISTA; do
                USR=`echo $LIN | awk -F ':' '{ print $1 }'`
                _ID=`echo $LIN | awk -F ':' '{ print $3 }'`
                if [ $_ID -gt 999 -a -d "/home/$USR" ]; then
                        echo $USR
                fi
        done
}

### --- Exemplo de utilização
cntUSR=1
for USR in `lista_usuarios`; do
  echo "Usuário $cntUSR: $USR"
  cntUSR=`echo $cntUSR+1 | bc`  # incrementa o contador
done
### ---

Scripts recomendados

Automatizar e compactar backup de banco MySQL

Interface gráfica para nível de tinta (escputil) em shell script

Verificando roteamento em vários servidores Linux

Firewall Iptables Desktop

Montar e Abrir CD/DVD


  

Comentários
[1] Comentário enviado por vinsilsim em 26/09/2007 - 12:27h

como usar esse script? dei chmod 755 listaUsuarios.sh depois executei ./listaUsuarios.sh
este foi o resultado!

[email protected] [~]# ./listaUsuarios.sh
: bad interpreter: No such file or directory

alguem pode me ajudar?

[2] Comentário enviado por elbriga em 20/08/2012 - 21:08h

Aqui roda, mas deve ser por causa do espaço entre o "#!" e o "/bin/bash" na primeira linha.

tenta tirar o espaço...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts