Onde estão os arquivos de log do postfix?

76

Eu sei que isso foi perguntado cem vezes. Mas fiz muitas pesquisas no Google sem sucesso. Minha pergunta: quero registrar todas as atividades do meu servidor postfix. Nem o arquivo padrão /var/log/mailnem qualquer outro referente mailou postfixexiste.

  1. Qual é a string exata a ser inserida no arquivo de configuração /etc/postfx/main.cfpara habilitar o log?
  2. Onde posso ver qual arquivo de configuração o postfix usa? (de acordo com minha dica abaixo)

Obrigado por suas respostas.

Dica: eu uso o postfix junto com o dovecot. Eu instalei o meta pacote alguns meses atrás.

Saída para postconf -n:

    alias_database = hash:/etc/aliases
    alias_maps = hash:/etc/aliases
    append_dot_mydomain = no
    biff = no
    broken_sasl_auth_clients = yes
    config_directory = /etc/postfix
    home_mailbox = Maildir/
    inet_interfaces = all
    mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-dovecot-postfix.conf -n -m "${EXTENSION}"
    mailbox_size_limit = 0
    mydestination = mydomain.de localhost
    myhostname = mydomain.de
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    myorigin = /etc/mailname
    readme_directory = no
    recipient_delimiter = +
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    smtp_use_tls = yes
    smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
    smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_sasl_local_domain = $myhostname
    smtpd_sasl_path = private/dovecot-auth
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_type = dovecot
    smtpd_sender_restrictions = reject_unknown_sender_domain
    smtpd_tls_auth_only = yes
    smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
    smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
    smtpd_tls_mandatory_ciphers = medium
    smtpd_tls_mandatory_protocols = SSLv3, TLSv1
    smtpd_tls_received_header = yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtpd_use_tls = yes
    tls_random_source = dev:/dev/urandom
    virtual_alias_maps = hash:/etc/postfix/virtual
    virtual_gid_maps = static:5000
    virtual_mailbox_base = /var/mail/vhosts
    virtual_mailbox_domains = mydomain2.de
    virtual_mailbox_maps = hash:/etc/postfix/vmailbox
    virtual_minimum_uid = 100
    virtual_uid_maps = static:5000

Output for /etc/syslog.conf

#  /etc/syslog.conf Configuration file for syslogd.
#
#           For more information see syslog.conf(5)
#           manpage.

#
# First some standard logfiles.  Log by facility.
#

auth,authpriv.*      -/var/log/auth.log
*.*;auth,authpriv.none;local0.none;local1.none      -/var/log/syslog
#cron.*          -/var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
user.*              -/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#

# Logging for INN news system
#
news.crit        -/var/log/news/news.crit
news.err         -/var/log/news/news.err
news.notice         -/var/log/news/news.notice

#
# Some `catch-all' logfiles.
#
*.=debug;\
    auth,authpriv.none;\
    news.none   -/var/log/debug
*.=info;*.=notice;*.=warning;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none      -/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg             *

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#   news.=crit;news.=err;news.=notice;\
#   *.=debug;*.=info;\
#   *.=notice;*.=warning    /dev/tty8

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
# 
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
daemon.*;mail.*;\
    news.err;\
    *.=debug;*.=info;\
    *.=notice;*.=warning    |/dev/xconsole
Steve Rakebrandt
fonte
2
O pacote do Postfix do Ubuntu apenas efetua logon /var/log/mail.logpor padrão. Se isso não estiver presente ou não estiver registrado lá, esclareça o que você mudou no seu sistema. Sem fornecer esses detalhes do que você tentou / encontrou, não podemos realmente ajudá-lo. Talvez seja tão simples quanto uma configuração modificada do rsyslog. Não temos acesso ao seu sistema e não podemos ver suas telas, por isso contamos com o que você fornece em sua pergunta. E para imprimir a configuração atual do Postfix, use postconf -n.
gertvdijk
Por favor edite sua pergunta para incluir detalhes. É assim que este site funciona. Comentários não são adequados para isso.
gertvdijk
Oi. Eu adicionei a saída do postconf. Eu não mudei nada no passado. Acabei de instalar o pacote meta. Bem, seria possível que alguém ocupasse o servidor e removesse os logs :-D. Havia um monte de mensagens de enviar a partir deste servidor dos últimos dias, que parecem ser spam ...
Steve Rakebrandt
Se você suspeitar que alguém acabou de remover arquivos de log sem rodeios, eles talvez não sejam mais rotacionados corretamente e um descritor de arquivo ainda esteja aberto para um arquivo de log mais antigo (não vinculado). Você tentou reiniciar o Postfix e rsyslog?
gertvdijk
Sim, se você já reiniciou o postfix algumas vezes. Também reiniciei o servidor alguns minutos atrás. Sem alterações. Arquivos ainda estão faltando. Até onde eu sei, todos os logs ativos serão compactados após um período, então acho que esses são todos os ativos: aptitude, auth, daemon, dovecot, dpkg, mysql, vsftpd. Bem, se eu não obtiver nenhum resultado hoje à noite, farei um backup e inicio o processo de reinstalação (função de provedor). E, btw, não consigo reiniciar o rsyslog (d) -> serviço não reconhecido.
Steve Rakebrandt

Respostas:

77

Eles devem estar em /var/log/mail.log. No entanto, parece que sua configuração do recurso syslog foi alterada por você (ou seu provedor). Usar o syslogd comum em vez do rsyslogd é muito possível, mas você pode esperar que as coisas funcionem de maneira diferente da sua expectativa.

Como já mencionado nos comentários, ao instalar rsyslog, os arquivos reapareceram.

gertvdijk
fonte
1
Sim, no meu caso eu tive que correr "apt-get install rsyslog" e "restart postfix serviço" e meu /var/log/mail.log apareceu
Mike
6

No Ubuntu 16.04, encontrei os logs do postfix em /var/log/syslog:

grep postfix /var/log/syslog

Você pode visualizar o fluxo de logs do postfix:

tail -f /var/log/syslog | grep postfix
AL
fonte