Padronização de usuários em vários micros
Publicado por Everson Caratti 24/08/2006
[ Hits: 5.820 ]
Download padroniza_usuarios.sh
Quando fiz esse script, minha necessidade era padronizar os mesmos usuáros em algumas máquinas sem a necessidade de instalar algum software de autenticação. Antes de executar, é bom dar uma boa lida no script pra não haver arrependimento depois! :)
#Antes de executar, é bom dar uma boa lida no script pra não haver arrependimento depois! :)
#Quando fiz esse script, minha necessidade era padronizar os mesmos usuáros em algumas máquinas sem a necessidade instalar algum software de autenticação.
#Para isso resolvi que seria criado um grupo "speed" com gid "1100" e todos os usuarios iriam pertencer a esse grupo.
#Para usilizar, primeiro você deve editar o script e modificar a funcao gera_lista() colocando nela seus uid,usuario,grupo um em cada linha.
#Se executar com o parametro "e" o script sera executado, caso contrario apenas simulará o que seria feito (dentro das possibilidades, claro).
#/bin/bash
gid_novo=1100
grupo_novo=speed
altera_grupo() {
gid_antigo=$(cat /etc/group | grep -i $grupo_novo | cut -d: -f 3)
if [ "$gid_antigo" = "" ] ; then
echo "Criando grupo..."
## aqui ainda teria q ver se o gid 1100 nao esta em uso por outro grupo (nao desenvovido!)
[ "$simular" = "e" ] && addgroup --group --gid $gid_novo $grupo_novo ||
echo "addgroup --group --gid $gid_novo $grupo_novo"
else
echo "alterando grupo..."
echo "gid: $gid_antigo -> $gid_novo"
[ "$simular" = "e" ] && groupmod -g $gid_novo $grupo_novo ||
echo "groupmod -g $gid_novo $grupo_novo"
echo "alterando arquivos do grupo..."
[ "$simular" = "e" ] && find / -gid $gid_antigo -exec chown :$gid_novo {} \; ||
echo "find / -gid $gid_antigo -exec chown :$gid_novo {} \;"
fi
}
altera_usuario() {
# processamento dos usuarios
[ -f /etc/samba/smbpasswd ] || touch /etc/samba/smbpasswd
for linha in $(cat /tmp/lista) ; do
[ "$linha" = "" ] && continue
uid_novo=$(echo $linha | cut -d, -f 1)
usuario=$(echo $linha | cut -d, -f 2)
grupo=$(echo $linha | cut -d, -f 3)
uid_antigo=$(cat /etc/passwd | grep -i "$usuario\:" | cut -d: -f 3)
echo "uid....: $uid_antigo -> $uid_novo"
echo "usuario: $usuario"
echo "grupo..: $grupo"
if [ "$uid_antigo" = "" ] ; then
echo "Novo usuario:"
passe="01"
perl -e "printf \"%s\n\", crypt ("$usuario$passe", join ('', ('.', '/', 0..9, 'A'.. 'Z', 'a'..'z')[rand (64), rand (64)]))" > /tmp/passe
if [ -f /tmp/passe ] ; then
passe=$(cat /tmp/passe)
rm /tmp/passe
[ "$simular" = "e" ] && useradd -u $uid_novo -g $gid_novo -m -s /bin/bash -p $passe $usuario ||
echo "useradd -u $uid_novo -g $gid_novo -m -s /bin/bash -p $passe $usuario"
fi
else
[ "$simular" = "e" ] && usermod -g $gid_novo -u $uid_novo $usuario ||
echo "usermod -g $gid_novo -u $uid_novo $usuario"
echo "Alterando arquivos do /home/..."
[ "$simular" = "e" ] && find /home/ -uid $uid_antigo -exec chown $uid_novo {} \; ||
echo "find /home/ -uid $uid_antigo -exec chown $uid_novo {} \;"
fi
## Adiciona o usuario ao samba
## vai adicionar uma senha pra cada usuario como sendo usuario01
passe="01"
echo "$usuario$passe" > /tmp/passe
echo "$usuario$passe" >> /tmp/passe
if [ ! "$(cat /etc/samba/smbpasswd | fgrep $usuario)" = "" ] ; then
[ "$simular" = "e" ] && smbpasswd -x $usuario ||
echo "smbpasswd -x $usuario"
fi
[ "$simular" = "e" ] && smbpasswd -a -s $usuario < /tmp/passe ||
echo "smbpasswd -a -s $usuario < /tmp/passe"
rm /tmp/passe
# pause
done
}
pause() {
echo -n "enter" ; read enter
}
gera_lista() {
cat > /tmp/lista <<FIM
1101,andre,$grupo_novo
1102,joao,$grupo_novo
1103,balcao,$grupo_novo
1104,bankada,$grupo_novo
1105,frente,$grupo_novo
1106,note,$grupo_novo
1108,desliga,$grupo_novo
FIM
}
sintaxe() {
echo "$0 [e] => Executa, qualquer outra coisa somente simula"
echo ""
exit 1
}
[ "$1" = "" ] && sintaxe || simular="$1"
gera_lista
altera_grupo
altera_usuario
[ -f /tmp/lista ] && rm /tmp/lista
exit 0
SabATT - Facilitador de atualização (Equo - Sabayon)
Pesquisa por arquivos redundantes (idênticos)
Gerador de Pacotes de Instalação
Nenhum comentário foi encontrado.
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









