12

Может кто-нибудь сказать мне, что я здесь не так сделал?

Вот главный вопрос:

Почему, когда я использую команду logger, я не могу получить ее для вывода в пользовательский файл журнала в /var /log?

В моем сценарии:

logger -i -t ANM -p local7.info "This is a local 7 test"

В rsyslog.conf я добавил в конец файла следующее:

local7.* /var/log/anm.log

Также у сценария есть разрешение для файла /var/log/anm.log

* ОБНОВИТЬ *

Поэтому я забыл перезапустить сервисы регистрации. Я попытался перезагрузиться и "перезапуск службы rsyslog" Все еще без изменений. Тестовый текст не отображается в /var/log/anm.log, но он появляется в /var /log /syslog

* ОБНОВИТЬ *

Какие разрешения нужны /var /log /"yourlogfile здесь"? Владелец, Группа, RWX?

Я попытался установить grp и own для root и для имени пользователя, запустив команду logger. Без изменений ни с одним.

Я также попытался создать файлы журналов в пользовательском каталоге в /var /log. т.е. /var/log/anm/anm.log и настройка обоих типов разрешений для каталога.

* ОБНОВИТЬ *

rsyslogd работает

системный журнал 598 0,0 0,1 31060 1292? Sl 03:02 0:02 rsyslogd -c5

и вот вывод из моего файла /etc/rsyslog.conf

#  /etc/rsyslog.conf    Configuration file for rsyslog.
#
#                       For more information see
#                       /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
#
#  Default logging rules can be found in /etc/rsyslog.d/50-default.conf


#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Filter duplicated messages
$RepeatedMsgReduction on

#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

#
# Where to place spool files
#
$WorkDirectory /var/spool/rsyslog

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf

local7.*        /var/log/anm.log

Я также попытался поместить его в /etc/rsyslog.d/50-default.conf (я использую Ubuntu 12.04 LTS)

#  Default rules for rsyslog.
#
#                       For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
#daemon.*                       -/var/log/daemon.log
kern.*                          -/var/log/kern.log
#lpr.*                          -/var/log/lpr.log
mail.*                          -/var/log/mail.log
#user.*                         -/var/log/user.log
local7.*                        /var/log/anm.log

* ОБНОВИТЬ *

Ну, я наконец понял это. Я хотел бы, чтобы кто-то ответил на это для меня. Потребовалось несколько дней, чтобы понять, что было не так, но я думаю, что на суперпользователя не так много людей.

Проблема была с правами доступа к файлу пользовательского журнала, как я изначально теоретизировал. Я думал, что у меня были правильные права доступа, но оказывается, что владельцем должен быть "системный журнал" и группа "adm". Я определил это путем сравнения с файлом user.log. Как только разрешения были изменены и проверены снова, все работает отлично! Я надеюсь, что это поможет кому-то еще быстрее, чем я смог найти ответ.

3 ответа3

6

Ну, я наконец понял это. Я хотел бы, чтобы кто-то ответил на это для меня. Потребовалось несколько дней, чтобы понять, что было не так, но я думаю, что на суперпользователя не так много людей.

Проблема была с правами доступа к файлу пользовательского журнала, как я изначально теоретизировал. Я думал, что у меня были правильные права доступа, но оказывается, что владельцем должен быть "системный журнал" и группа "adm". Я определил это путем сравнения с файлом user.log. Как только разрешения были изменены и проверены снова, все работает отлично! Я надеюсь, что это поможет кому-то еще быстрее, чем я смог найти ответ.

Вот окончательные разрешения

-rw-r--r-- 1 syslog adm 0 Aug  3 05:09 anm.log
1

@ Atomiklan упомянул, что ему нужно сменить владельца / группу своего пользовательского файла на syslog / adm. Я попробовал это, и это сработало ...

Но комментарий @ MichaelKjörling тоже показался правильным: почему бы просто не позволить демону syslog создать файл?

Ключ в моем случае (и я предлагаю ОП) заключается в том, что у пользователя системного журнала не было разрешения на запись в каталог моего настраиваемого журнала. Я выполнил команду chmod o+w , перезапустил rsyslog, и мой файл журнала благополучно появился там, где он должен быть ... с syslog/adm в качестве пользователя / группы.

1

# $ ModLoad imudp

# $ UDPServerRun 514

должно быть:

$ ModLoad imudp

$ UDPServerRun 514

запустить удаленную регистрацию!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .