Configuração de Servidores · 3 min read · Oct 07, 2025

Usuários Virtuais E Domínios Com Postfix, Courier E MySQL (Debian Etch) - Página 3

6 Configurar Saslauthd

Primeiro execute

mkdir -p /var/spool/postfix/var/run/saslauthd

Em seguida, edite /etc/default/saslauthd. Defina START como yes e altere a linha OPTIONS=”-c” para OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”:

vi /etc/default/saslauthd

| # # Configurações para o daemon saslauthd # # O saslauthd deve ser executado automaticamente na inicialização? (padrão: não) START=yes # Quais mecanismos de autenticação o saslauthd deve usar? (padrão: pam) # # Opções disponíveis neste pacote Debian: # getpwent -- usar a função de biblioteca getpwent() # kerberos5 -- usar Kerberos 5 # pam -- usar PAM # rimap -- usar um servidor IMAP remoto # shadow -- usar o arquivo de senha shadow local # sasldb -- usar o arquivo de banco de dados sasldb local # ldap -- usar LDAP (a configuração está em /etc/saslauthd.conf) # # Apenas uma opção pode ser usada por vez. Consulte a página de manual do saslauthd # para mais informações. # # Exemplo: MECHANISMS="pam" MECHANISMS="pam" # Opções adicionais para este mecanismo. (padrão: nenhuma) # Consulte a página de manual do saslauthd para informações sobre opções específicas do mecanismo. MECH_OPTIONS="" # Quantos processos saslauthd devemos executar? (padrão: 5) # Um valor de 0 irá criar um novo processo para cada conexão. THREADS=5 # Outras opções (padrão: -c) # Consulte a página de manual do saslauthd para informações sobre essas opções. # # Exemplo para usuários do postfix: "-c -m /var/spool/postfix/var/run/saslauthd" # Nota: Consulte /usr/share/doc/sasl2-bin/README.Debian OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" |

Em seguida, crie o arquivo /etc/pam.d/smtp. Ele deve conter apenas as seguintes duas linhas (certifique-se de preencher os detalhes corretos do seu banco de dados):

vi /etc/pam.d/smtp

| auth required pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 |

Em seguida, crie o arquivo /etc/postfix/sasl/smtpd.conf. Ele deve ficar assim:

vi /etc/postfix/sasl/smtpd.conf

| pwcheck_method: saslauthd mech_list: plain login allow_plaintext: true auxprop_plugin: mysql sql_hostnames: 127.0.0.1 sql_user: mail_admin sql_passwd: mail_admin_password sql_database: mail sql_select: select password from users where email = '%u' |

Em seguida, reinicie o Postfix e o Saslauthd:

/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart

7 Configurar Courier

Agora precisamos informar ao Courier que ele deve autenticar contra nosso banco de dados MySQL. Primeiro, edite /etc/courier/authdaemonrc e altere o valor de authmodulelist para que fique:

vi /etc/courier/authdaemonrc

| [...] authmodulelist="authmysql" [...] |

Em seguida, faça um backup de /etc/courier/authmysqlrc e esvazie o arquivo antigo:

cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig  
cat /dev/null > /etc/courier/authmysqlrc

Em seguida, abra /etc/courier/authmysqlrc e coloque as seguintes linhas nele:

vi /etc/courier/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

Em seguida, reinicie o Courier:

/etc/init.d/courier-authdaemon restart  
/etc/init.d/courier-imap restart  
/etc/init.d/courier-imap-ssl restart  
/etc/init.d/courier-pop restart  
/etc/init.d/courier-pop-ssl restart

Ao executar

telnet localhost pop3

você pode ver se seu servidor POP3 está funcionando corretamente. Ele deve retornar +OK Hello there. (Digite quit para voltar ao shell do Linux.)

server1:/etc/postfix# telnet localhost pop3  
Trying 127.0.0.1...  
Connected to localhost.localdomain.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.

8 Modificar /etc/aliases

Agora devemos abrir /etc/aliases. Certifique-se de que postmaster aponte para root e root para seu próprio nome de usuário ou seu endereço de e-mail, por exemplo, assim:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

Sempre que você modificar /etc/aliases, deve executar

newaliases

depois e reiniciar o Postfix:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.