POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS MYSQL
Publicado por Alessandro Dias 16/05/2005
[ Hits: 4.788 ]
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"
Usando netstat para verificar conexões e portas
Cadastro automatizado para DHCP, Sarg, ethers e hosts
Bloquear ataques DDoS com bloqueio de range de IPs e avisar por e-mail
Script para compilação manual do nessus
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
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
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
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
Remoção de propaganda com o programa Comskip[AJUDA] (4)
Instalação do drive do adaptador wiffi (5)
Linux Lite Demorando Muito Para Ligar (1)