POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS MYSQL
Publicado por Alessandro Dias 16/05/2005
[ Hits: 4.730 ]
Cria o(s) usuario(s) que estiverem no banco QUOTA e não estiverem no sistema.
#!/bin/sh # ############################################################################### # Script CRIATE_USER_MYSQL.SH v1.0 # # # # Autor: Alessandro Dias # ############################################################################### # BASEDIR=/var/mail ABOOK="/srv/www/default/data" MAILQUOTA=100 MYDOMAIN="rjo.ccom.eb.mil.br" ENTRADA="senhas.csv" clear echo "*********************************************************************************************" echo "* Programa CRIATE_USER_MYSQL 2.0 *" echo "*********************************************************************************************" echo "Autor: Alessandro Dias" echo "Quota Padrão: 100MBytes" echo "---------------------------------------------------------------------------------------------" echo "Usuario(s) Criado(s): " # carrega todos o uauarios do banco TODOS=$(mysql -u root -ppostfix -e "select usuario from user_quota" quota) i=2 USERNAME=`echo $TODOS | cut -d " " -f $i` # verifica se o usuario está no arquivo de senhas if [ "$USERNAME" != "" -a "$USERNAME" != " " ]; then NOME_TMP=`grep ,$USERNAME,x $ENTRADA | cut -d "," -f 4` NOME=`echo $NOME_TMP | cut -d " " -f 1` fi while [ "$USERNAME" != "" -a "$USERNAME" != " " ]; do if [ "$NOME" != "$USERNAME" ]; then # se o usuário não está no arquivo, então cria o uauário QUOTA=$(mysql -u root -ppostfix -e "select quota from user_quota where usuario='$USERNAME'" quota) QUOTA=`echo $QUOTA |cut -d " " -f 2` EMAIL=$(mysql -u root -ppostfix -e "select email from user_quota where usuario='$USERNAME'" quota) EMAIL=`echo $EMAIL | cut -d " " -f 2` DESCR=$(mysql -u root -ppostfix -e "select descr from user_quota where usuario='$USERNAME'" quota) DESCR=`echo $DESCR | cut -d " " -f 2` SENHA=$(mysql -u root -ppostfix -e "select senha from user_quota where usuario='$USERNAME'" quota) SENHA=`echo $SENHA | cut -d " " -f 2` # Atualiza o arquivo de senhas (senhas.csv) echo "$EMAIL,$DESCR,$SENHA,$USERNAME,x" >> senhas.csv # Cria usuário no Linux CRYPT=`openssl passwd $SENHA 2> /dev/null` adduser -g 231 -s /bin/false -c "$DESCR" -p $CRYPT $USERNAME # 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 # copia o caderno de enderecos cp -f $BASEDIR/default_mbox $BASEDIR/$USERNAME #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 \tS:$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 $TODOS | cut -d " " -f $i` # pega outro usuario do banco # verifica se o usuario está no arquivo de senhas if [ "$USERNAME" != "" -a "$USERNAME" != " " ]; then NOME_TMP=`grep ,$USERNAME,x $ENTRADA | cut -d "," -f 4` NOME=`echo $NOME_TMP | cut -d " " -f 1` fi done echo -e "---------------------------------------------------------------------------------------------\n"
Instala os modulos de bateria dos notebook da Acer
Migração de Aplicações para Ambiente Web - Uma Abordagem Prática
Cadastro de usuarios para proxy autenticado
tuiteroPreguicoso1.0 - automatiza o envio de mensagens ao Twitter
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