Как правильно подойти к вопросу: proftpd пустой лог proftpd.log?
Подскажите, почему пустой лог файл
/var/log/proftpd/proftpd.log
Сейчас ситуация такая: при перезапуске сервиса, лог файл создается, но больше в него ничего не пишется.
По вводным: если сделать неверную авторизацию создаётся лог файл
/var/log/proftpd/auth.log
По вводным: но в этом файле пусто proftpd.log
По вводным: версия proftpd 1.3.8d, centos9
В конфиге
SystemLog /var/log/proftpd/proftpd.log <--- тут пусто 0 байт TransferLog /var/log/proftpd/xfer.log ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH auth
UDP1.
Ответ нашёл тутПо вводным: www.proftpd.org/docs/modules/mod_log.html#SystemLog
По вводным: нужно убрать --nodaemon в сервисе /usr/lib/systemd/system/proftpd.service
- ExecStart = /usr/sbin/proftpd --nodaemon $PROFTPD_OPTIONS + ExecStart = /usr/sbin/proftpd $PROFTPD_OPTIONS
По вводным: добавить в /etc/proftpd/conf.d/custom.conf
SyslogLevel INFO
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
В ProFTPD пустой
/var/log/proftpd/proftpd.logне всегда означает, что логирование сломано. Часто ProFTPD пишет разные типы событий в разные места: системные события черезSystemLog, авторизацию через PAM/syslog, передачи черезTransferLog, а ошибки могут уходить в journald. Поэтому сначала надо понять, куда реально пишет ваш процесс.Проверьте конфигурацию:
proftpd -t proftpd -V | grep -i log grep -R "Log|TransferLog|ExtendedLog|Syslog" /etc/proftpd /etc/proftpd.conf
Для CentOS 9 также посмотрите journald:
journalctl -u proftpd -n 100 --no-pager journalctl -xeu proftpd --no-pager
Если файл создаётся, но остаётся пустым, проверьте права и пользователя, от которого работает демон:
ls -ld /var/log/proftpd ls -l /var/log/proftpd ps aux | grep proftpd
Для явного логирования можно добавить расширенный лог:
SystemLog /var/log/proftpd/proftpd.log TransferLog /var/log/proftpd/xferlog ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH authSystemLog /var/log/proftpd/proftpd.log TransferLog /var/log/proftpd/xferlog ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH auth
После изменения перезапустите сервис и проверьте синтаксис:
proftpd -t systemctl restart proftpdproftpd -t systemctl restart proftpd
Если авторизационный лог создаётся, но пустой, причина может быть в том, что сообщения авторизации уходят в
/var/log/secureили journald, а не в файл ProFTPD. На системах с systemd это нормальная ситуация.Итог: проверьте
journalctl, права на каталог логов, фактическую конфигурациюExtendedLogи не ожидайте, что все события окажутся именно вproftpd.log. Для transfer/auth/access лучше задать отдельные явные логи.