
Я настроил Ubuntu 14.04 Server (из Ubuntu 12.04 Server), но сегодня я хотел посмотреть в , auth.log
но этот файл не используется. Кажется, что ´syslog´ был удален.
Как Ubuntu 14.04 ведет лог? Мне это нужно для сервера.
Спасибо.
решение1
14.04 использует rsyslog
. Когда я обновился с 12.04 до 14.04, мне пришлось сменить владельца файлов журнала /var/log
с root
на syslog
.
( /etc/rsyslog.conf
Владелец определяется как
$FileOwner syslog
$FileGroup adm
)
Вам также следует взглянуть, /etc/rsyslog.d/50-default.conf
где определяется, какие события записываются в какие файлы. Также есть строка для /var/log/syslog
. Возможно, она закомментирована.
решение2
Я только что выполнил совершенно новую установку Ubuntu 14.04 с использованием официального серверного носителя.
Rsyslog был установлен, и auth.log
действительный файл журнала с конфигурацией по умолчанию. Он настроен файлом/etc/rsyslog.d/50-default.conf
Если у вас нет auth.log, то я предполагаю, что вы выполнили одно из следующих действий:
- изменил конфигурацию
- использован демон syslog, отличный от rsyslog
- использовал установщик Ubuntu, который установил другие настройки по умолчанию.
Трудно сказать наверняка, не зная, какой именно демон syslog вы используете.
Если вы используете rsyslog, то взгляните на свой /etc/rsyslog.conf
, и любые файлы в /etc/rsyslog.d
. Посмотрите, куда записываются сообщения auth,authpriv.*.
решение3
Если вы найдете такое заключительное сообщение в /var/log/syslog
:
Dec 29 19:27:32 host rsyslogd-2039:
Could no open output pipe '/dev/xconsole':
No such file or directory [try http://www.rsyslog.com/e/2039 ]
то это виновник. Это происходит потому, что версия по умолчанию /etc/rsyslog.d/50-default.conf
в Ubuntu 14.04.1 LTS (или, по крайней мере, более ранняя версия, сохраненная в обновлениях) ожидает, что вы используете /dev/xconsole
для мониторинга ошибок, но это просто недоступно в средах headless-серверов.
Чтобы исправить это, отключите соответствующий раздел в /etc/rsyslog.d/50-default.conf
, сделав его примерно таким:
# daemon.*;mail.*;\
# news.err;\
# *.=debug;*.=info;\
# *.=notice;*.=warn |/dev/xconsole
Затем перезапустите rsyslog ( sudo service rsyslog restart
), и теперь файлы журналов должны работать.
Источник:этот ответна AskUbuntu SE вопрос "Отсутствие /dev/xconsole приводит к остановке rsyslog, а также всех других служб.".
решение4
Я столкнулся с этой проблемой при установке совершенно новой версии Ubuntu 14.04 и включении fail2ban
входа по SSH.
Ubuntu 14.04 использует rsyslog
с пользователем syslog
и группой по умолчанию adm
. Однако /var/log
каталог имеет разрешения root:root 0755
, что означает, что rsyslog не может создать новый файл журнала в каталоге, например файл /var/log/auth.log
.
Есть несколько способов решить эту проблему.
Сделать /var/log/
доступным для записи для всех пользователей
sudo chmod 0777 /var/log
Изменить владельца/группу/var/log
sudo chown syslog:adm /var/log
sudo chmod 0775 /var/log
Нажмите /var/log/auth.log
и измените его владельца/группу наsyslog:adm
sudo touch /var/log/auth.log
sudo chown syslog:syslog /var/log/auth.log
Изменение пользователя/группы rsyslog
выполняется как (не рекомендуется)
editor /etc/rsyslog.conf
$FileOwner root
$FileGroup root