|
Script para adicionar usuários em massa no linux: msg#02608culture.publications.dicas
Script para adicionar usuários em massa no linux ================================================ Colaboração: Amauri Tiago Marx Quem nunca precisou criar usuários em massa em um servidor linux? Muitas vezes para fazer isso, os administradores adicionam um usuário no sistema, executam o comando shadowconfig off para desabilitar as senhas em shadow e passá-las para o arquivo passwd. Após isso, copiam a linha e apenas alteram o uid, e o nome da conta, ou seja, facilita a criação de usuários, porém tem-se a desvantagem de exigir algum trabalho manual e criar uma senha padrão. Pesquisando a documentação do linux referente ao comando useradd, percebemos que existe como passar a senha através do comando useradd -p, porém esta deve estar no formato shadow-MD5. Para resolver esse empecilho na universidade onde trabalho, criamos um script que adiciona usuários no sistema automaticamente utilizando para isso um arquivo de texto, o qual conterá o seguinte formato: conta,senha. Para isso, criamos um arquivo em bash script chamado adiciona_usuarios.sh conforme abaixo: #!/bin/bash IFS=' ' for LISTA in `cat usuarios.txt | cut -d , -f 1` do senhausuario=`cat usuarios.txt | grep $LISTA | cut -d , -f 2` senhacript=`/usr/bin/perl senha.pl $senhausuario` varinvalido=`echo $senhacript | egrep '[ ]'` # Adiciona usuario no sistema sem shell, cria a pasta e dá permissao /usr/sbin/useradd $LISTA -s /bin/false -d /home/$LISTA -p $senhacript /bin/mkdir -p /home/$LISTA /bin/chown $LISTA /home/$LISTA -R done exit 0 Além disso ainda temos que ter 2 arquivos: usuarios.txt (arquivo que conterá a exportação das contas dos usuários com suas respectivas senhas em texto plano) e o arquivo senha.pl (arquivo que irá transformar as senhas em texto plano dos usuários para o formato Shadow-MD5. O arquivo usuarios.txt terá o seguinte conteúdo: usuario1,senha1 usuario2,senha2 usuario3,senha3 usuario4,senha4 Para o script senha.pl funcionar, será necessário ter instalado no sistema o perl e o módulo do perl chamado Crypt::PasswdMD5, o qual pode ser instalado via cpan (www.cpan.org). A base para a construção deste script foi obtida na internet através de uma mensagem do Henrique Pedroni Neto para uma lista de discussão. O script senha.pl será assim: #!/usr/bin/perl use Crypt::PasswdMD5; # Criptografa a senha do usario # @itoa64=split(//,"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); srand(); $salt=""; for($i=0;$i<8;$i++){ $salt .= "$itoa64[rand(64)]"; } $password=$ARGV[0]; $md5_crypted_passwd = unix_md5_crypt($password,$salt); print("$md5_crypted_passwd"); Junte todos esses arquivos no mesmo diretório, torne executável os arquivos senha.pl e adiciona_usuarios.sh, com os comandos abaixo: # chmod 755 adiciona_usuarios.sh senha.pl Após ter adicionado os usuários e suas senhas no arquivo usuarios.txt, execute o comando abaixo para adicionar os usuários no sistema: # ./adiciona_usuarios.sh Esse script serve apenas como exemplo simples de adição de usuários no sistema de forma mais automatizada. Altere conforme suas necessidades e não esqueça de enviar uma cópia para mim. :) Agradecimentos especiais a Fabrício Paloschi, meu colega que me ajudou a criar este script. |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Usando o Umbrello como ferramenta de modelagem de software: 02608, Rubens Queiroz de Almeida |
|---|---|
| Next by Date: | Instalando o Mysql 5 na "unha" - Slackware 10.1: 02608, Rubens Queiroz de Almeida |
| Previous by Thread: | Usando o Umbrello como ferramenta de modelagem de softwarei: 02608, Rubens Queiroz de Almeida |
| Next by Thread: | Instalando o Mysql 5 na "unha" - Slackware 10.1: 02608, Rubens Queiroz de Almeida |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |