POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS A PARTIR DE ARQUIVO
Publicado por Alessandro Dias 16/05/2005
[ Hits: 5.312 ]
Cria o(s) usuário(s) a partir do arquivo de senhas (senhas.csv) que ainda não estiverem no sistema. O arquivo senhas.csv é um TXT com o seguinte formato (com um "x" no final):
email,descrição,senha,nome_usuário,x
#!/bin/sh
#
###############################################################################
# Script MIGRATE_USERS.SH v2.0 #
# #
# Autor: Alessandro Dias #
###############################################################################
# Este programa faz uma completa migração de outro servidor a partir do #
# passwd antigo para o novo sistema, criando os novos usuários, definindo #
# permissões e atualizando um banco de dados Mysql. É necessário que vcs apa- #
# guem no passwd antigo os usuários do sistema deixando somente os usuários #
# com UID maior que 500. #
###############################################################################
#
BASEDIR=/var/mail
ABOOK="/srv/www/default/data"
MAILQUOTA=100
ENTRADA="senhas.csv"
MYHOSTNAME="venus.rjo.ccom.eb.mil.br"
MYDOMAIN="rjo.ccom.eb.mil.br"
clear
echo "*********************************************************************************************"
echo "* Programa MIGRATE_USER 1.0 *"
echo "*********************************************************************************************"
echo "Autor: Alessandro Dias"
echo "Quota Padrão: 100MBytes"
echo "---------------------------------------------------------------------------------------------"
echo "Usuarios do sistema: "
### LÊ OS USUÁRIOS NOVOS DO ARQ. DE ENTRADA
EMAILS=`cat $ENTRADA | cut -d "," -f 1`
DESCRICOES=`cat $ENTRADA | cut -d "," -f 2`
SENHAS=`cat $ENTRADA | cut -d "," -f 3`
NOVOS=`cat $ENTRADA | cut -d "," -f 4`
USERNAME=`echo $NOVOS |cut -d " " -f 1`
SENHA=`echo $SENHAS |cut -d " " -f 1`
EMAIL=`echo $EMAILS |cut -d " " -f 1`
DESCR=`echo $DESCRICOES |cut -d " " -f 1`
i=1
while [ "$USERNAME" != "" -a "$USERNAME" != " " ]; do
EXISTE=$(mysql -u root -ppostfix -e "select usuario from user_quota where usuario='$USERNAME'" quota)
if [ "$EXISTE" = "" ]; then
# Cria usuário no Linux
CRYPT=`openssl passwd $SENHA 2> /dev/null`
adduser -g 231 -s /bin/false -c $DESCR -p $CRYPT $USERNAME
# Cria usuário no Mysql
mysql -u root -ppostfix -e "insert into user_quota values \
('$USERNAME',$MAILQUOTA,0,0,'$EMAIL','$DESCR','$SENHA')" quota
# Atualiza Permissões
chmod 755 /home/$USERNAME
mkdir /home/$USERNAME/mail
chmod 755 /home/$USERNAME/mail
chown $USERNAME.popusers /home/$USERNAME/mail
touch /home/$USERNAME/mail/Enviadas
touch /home/$USERNAME/mail/Lixeira
touch /home/$USERNAME/mail/Rascunhos
chown $USERNAME.popusers /home/$USERNAME/mail/*
chmod 644 /home/$USERNAME/mail/*
touch $BASEDIR/$USERNAME
chmod 660 $BASEDIR/$USERNAME
chmod 775 $BASEDIR
chown $USERNAME.mail $BASEDIR/$USERNAME
cp -f $BASEDIR/default_mbox $BASEDIR/$USERNAME
# copia o caderno de enderecos
#cp -f default_abook $ABOOK/$USERNAME.abook
#chmod 600 $ABOOK/$USERNAME.abook
#chown www.www $ABOOK/$USERNAME.abook
# Informa que o usuário foi criado
echo -e "INCLUIDO - U:$USERNAME {FONTE}33[33G S:$SENHA \tE:$EMAIL"
# Gera uma Msg de Boas vindas!
#Wed, 6 Apr 2005 11:48:47 -0000 (UTC)
#Convertendo data para ingles
DIA=`date +%a`
case $DIA in
Seg) DIA="Mon" ;;
Ter) DIA="Tue" ;;
Qua) DIA="Wed" ;;
Qui) DIA="Thu" ;;
Sex) DIA="Fri" ;;
Sab) DIA="Sat" ;;
Dom) DIA="Sun" ;;
esac
MES=`date +%b`
case $MES in
Abr) MES="Apr" ;;
Mai) MES="May" ;;
Ago) MES="Aug" ;;
Set) MES="Sep" ;;
Out) MES="Oct" ;;
esac
echo -e "\nFrom postmaster@$MYDOMAIN `date +\"%a %b %d %X %Y\"`\nReturn-Path: <postmaster@$MYHOSTNAME>\nX-Original-To: postmaster\nDelivered-To: postmaster@$MYDOMAIN\nReceived: by $MYHOSTNAME (Postfix, userid 0)\nFrom: \"POSTMASTER\" <postmaster@$MYDOMAIN>\nTo: $USERNAME@$MYDOMAIN\nSubject: Mensagem de Boas Vindas!!!\nDate: $DIA, `date +%e` $MES `date +%Y` `date +%T` -0300 (BRT)\n\n Bom Dia! \n Este eh o novo servico de Correio Eletronico do dominio RJO.CCOM.EB.MIL.BR, mantido pelo 2o Centro de Telematica de Area.\n Devido ao fato de o sistema antigo estar com elevada incidencia de virus e spams, o CTA criou esse novo sistema, baseado no SquirrelMail 1.4.4, que teve seu codigo modificado para atender aas necessidades do Exercito Brasileiro.\n O Servidor de Correio esta equipado com softwares anti-virus (Clamav) e anti-spam (SpamAssassin), atualizados constantemente pela equipe de seguranca da informacao.\n Apesar de as mensagens, em grande parte, serem inofensivas, acarretam sobrecarga, com diminuicao de desempenho do Sistema, alem de transtornos e prejuizos administrativos aas OM e aa imagem do Exercito.\n\n Abaixo temos as caracteristicas da caixa postal dessa OM:\n- Espaco para Guardar Mensagens: $MAILQUOTA MBytes\n- Tamanho Maximo por Mensagem: 10 MBytes\n- Tempo Maximo de Permanencia das Mensagens: 60 dias\n\nOBSERVACOES:\n - Procure apagar algumas mensagens para liberar mais espaco quando sua caixa postal chegar a mais de 90% de sua capacidade (Vc recebera uma mensagem de aviso).\n - Quando sua quota atingir 100% de utilizacao, vc nao recebera mais mensagens.\n - Mensagens com mais de 60 dias serao automaticamente apagadas.\n - Vc pode salvar algumas mensagens como arquivo, antes de apaga-las.\n - Caso Vc queira recuperar as mensagens do antigo sistema, entre em contato conosco.\n\nCriticas ou sugestoes: postmaster@$MYDOMAIN\n\nAtt.\n --------------------------\n Secao de Gerencia de Redes\n 2CTA - Div Op - SGRT\n Contatos (2519-5076/5068)\n" >> $BASEDIR/$USERNAME
fi
i=`expr $i \+ 1`
USERNAME=`echo $NOVOS |cut -d " " -f $i`
SENHA=`echo $SENHAS |cut -d " " -f $i`
EMAIL=`echo $EMAILS |cut -d " " -f $i`
DESCR=`echo $DESCRICOES |cut -d " " -f $i`
done
echo -e "---------------------------------------------------------------------------------------------\n"
Criar políticas para o SELinux
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS MYSQL
Removendo kernels antigos no Ubuntu
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Alguém executou um rm e quase mata a Pixar! (5)
Formas seguras de instalar Debian Sid (4)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









