Где находятся файлы журнала postfix?

76

Я знаю, что об этом спрашивали сто раз. Но я много поискал в Google безуспешно. Мой вопрос: я хочу регистрировать каждую активность моего постфиксного сервера. Ни файл по умолчанию, /var/log/mailни какой-либо другой, касающийся mailили не postfixсуществует.

  1. Какую строку поместить в файл конфигурации, /etc/postfx/main.cfчтобы включить ведение журнала?
  2. Где я могу увидеть, какой файл конфигурации использует postfix? (согласно моей подсказке ниже)

Спасибо за ваши ответы.

Подсказка: я использую postfix вместе с dovecot. Я установил метапакет несколько месяцев назад.

Выход для 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
Стив Ракебрандт
источник
2
Пакет Ubuntu Postfix просто входит в систему /var/log/mail.logпо умолчанию. Если его нет или он там не регистрируется, уточните, что вы изменили в своей системе. Без предоставления таких подробностей того, что вы пытались / нашли, мы не можем вам помочь. Может быть, это так же просто, как измененная конфигурация rsyslog. У нас нет доступа к вашей системе, и мы не можем видеть ваши экраны, поэтому мы полагаемся на то, что вы предоставляете в своем вопросе. А для печати текущей конфигурации Postfix используйте postconf -n.
gertvdijk
Пожалуйста, измените ваш вопрос, чтобы включить детали. Вот как работает этот сайт. Комментарии не подходят для этого.
gertvdijk
Здравствуй. Я добавил вывод postconf. Я ничего не изменил в прошлом. Я только что установил метапакет. Ну, возможно, кто-то занял сервер и удалил логи :-D. За последние дни с этого сервера было отправлено много сообщений, которые, похоже, являются спамом ...
Стив Рэйкбрандт,
Если вы подозреваете, что кто-то просто тупо удалил файлы журналов, то они могут больше не вращаться должным образом, и файловый дескриптор все еще открыт для более старого (несвязанного) файла журнала. Вы пытались перезапустить Postfix и rsyslog?
gertvdijk
Да, если вы уже перезапустили постфикс несколько раз. Я также перезапустил сервер несколько минут назад. Без изменений. Файлы по-прежнему отсутствуют. Насколько я знаю, все активные журналы будут сжаты через определенный промежуток времени, поэтому я думаю, что это все активные: aptitude, auth, daemon, dovecot, dpkg, mysql, vsftpd. Хорошо, если сегодня вечером я не получил никаких результатов, я сделаю резервную копию и запусту процесс переустановки (функция провайдера). И, кстати, я не могу перезапустить rsyslog (d) -> нераспознанный сервис.
Стив Ракебрандт

Ответы:

77

Они должны быть в /var/log/mail.log. Однако, похоже, что конфигурация вашего средства системного журнала была изменена вами (или вашим провайдером). Использование простого syslogd вместо rsyslogd очень возможно, но тогда вы можете ожидать, что все будет работать иначе, чем вы ожидаете.

Как уже упоминалось в комментариях, при установке rsyslogфайлы снова появились.

gertvdijk
источник
1
Да, в моем случае мне просто нужно было запустить "apt-get install rsyslog" и "перезапуск постфикса службы", и появился мой /var/log/mail.log
Майк
6

На Ubuntu 16.04 я нашел логи постфикса в /var/log/syslog:

grep postfix /var/log/syslog

Вы можете просмотреть поток логов postfix:

tail -f /var/log/syslog | grep postfix
Алабама
источник