Adicionar usuarios em lote com senha padrao
Publicado por Jônatas Ramiro Goulat (última atualização em 05/07/2011)
[ Hits: 13.968 ]
Este é meu primeiro script que publico. Espero que ajude alguém :)
Ele cria varias contas no linux com senha "123456" e força a troca da mesma no primeiro login.
O arquivo com os nomes podem ser o nome completo , que vai ficar apenas o primeiro e o ultimo separados por ponto. Ou apenas um nome. ex:
[root@localhost tmp]# cat nome_contas
jonatas ramiro goulart
fulano rosa da silva
cicrano sousa
suzan
O resultado será a crianção das seguintes contas:
jonatas.goulart
fulano.silva
cicrano.sousa
suzan
Eu testei e funcionou no Fedora 15, Red Hat 5.6 e Centos 5.1 . Mais infelizmente não funcionou no Ubuntu por que o passwd não possui suporte para alterar a entrada padrão. Para saber se vai funcionar é preciso dar uma olhada no man do passwd se ele tem suporte a --stdin
E como é de bom costume , segue o link que ajudou-me
http://www.unix.com/shell-programming-scripting/41773-modify-users-password-via-script.html
peguei a dica do zazzybob ,
#!/bin/bash SENHA="123456" #Senha padrao para todos os logins USUARIO=`whoami` # Verifica qual usuario que executou o script LISTA_USUARIOS=/tmp/nome_contas # Arquivo com a lista de nomes # Verifica se é o root. se nao for, termina a execução if [ $USUARIO != "root" ] ; then echo "O script precisa ser executado como root" exit fi for CONTA in `sed 's/ .* /./;s/ /./' $LISTA_USUARIOS` do #Verifica se a conta nao existe. Se existir, não cria novamente if [ -z `cat /etc/passwd|grep "\b$CONTA\b"` ] ; then # cria a conta useradd -m -d /home/$CONTA $CONTA # altera a senha # Nem tudas as versoes do passwd possuem suporte ao parametro --stdin echo $SENHA | passwd --stdin $CONTA # força que a senha seja trocada no primeiro login chage -d 0 $CONTA fi done
Descobrir se um número é par ou impar
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Acabei de formatar meu ssd e deu erro (3)
Desempenho abaixo do esperado - travadas e congelamento do sistema ope... (5)
Bash ao invés de Fish no CachyOS (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta