Adicionar usuarios em lote com senha padrao
Publicado por Jônatas Ramiro Goulat (última atualização em 05/07/2011)
[ Hits: 14.006 ]
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
Gerenciamento de logs em servidores de aplicação
Dicionário e tradutor baseado no Michaelis
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
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
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
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
A coisa universal é muito mais ampla do que cê imagina (6)