Padronização de usuários em vários micros
Publicado por Everson Caratti 24/08/2006
[ Hits: 5.684 ]
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
Mudando a resolução de arquivos JPG
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









