Может кто-нибудь сказать мне, что я здесь не так сделал?
Вот главный вопрос:
Почему, когда я использую команду 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
файл
* ОБНОВИТЬ *
Поэтому я забыл перезапустить сервисы регистрации. Я попытался перезагрузиться и " service rsyslog restart
" Все еще без изменений. Тестовый текст не отображается в, /var/log/anm.log
но он появляется в/var/log/syslog
* ОБНОВИТЬ *
Какие разрешения /var/log/"yourlogfilehere"
нужны? Owner
, Group
, rwx
?
Я попытался установить grp и own для root и для имени пользователя, запустив команду logger. Без изменений ни с одним.
Я также попытался создать файлы журналов внутри пользовательского каталога в /var/log
. т.е. /var/log/anm/anm.log
и установка обоих типов разрешений для каталога.
* ОБНОВИТЬ *
rsyslogd работает
syslog 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
* ОБНОВИТЬ *
Ну, я наконец понял это. Я хотел бы, чтобы кто-то ответил на это для меня. Потребовалось несколько дней, чтобы понять, что было не так, но я думаю, что на суперпользователя не так много людей.
Проблема была с правами доступа к файлу пользовательского журнала, как я изначально теоретизировал. Я думал, что у меня были правильные разрешения, но оказывается, что владелец должен быть syslog
и группа adm
. Я определил это путем сравнения с user.log
файлом. Как только разрешения были изменены и проверены снова, все работает отлично! Я надеюсь, что это поможет кому-то еще быстрее, чем я смог найти ответ.
Ответы:
Ну, я наконец понял это. Я хотел бы, чтобы кто-то ответил на это для меня. Потребовалось несколько дней, чтобы понять, что было не так, но я думаю, что на суперпользователя не так много людей.
Проблема была с правами доступа к файлу пользовательского журнала, как я изначально теоретизировал. Я думал, что у меня были правильные разрешения, но оказывается, что владельцем должен быть "системный журнал", а группа "adm". Я определил это путем сравнения с файлом user.log. Как только разрешения были изменены и проверены снова, все работает отлично! Я надеюсь, что это поможет кому-то еще быстрее, чем я смог найти ответ.
Вот окончательные разрешения
источник
service restart
он знает правило и при первом соответствующем вызове fromlogger
создает файл с правильными правами доступа.@ Atomiklan упомянул, что ему нужно сменить владельца / группу своего пользовательского файла на syslog / adm. Я попробовал это, и это сработало ...
Но комментарий @ MichaelKjörling тоже показался правильным: почему бы просто не позволить демону syslog создать файл?
Ключ в моем случае (и я предлагаю ОП) заключается в том, что у пользователя системного журнала не было разрешения на запись в каталог моего пользовательского журнала . Я сделал
chmod o+w
, перезапустил rsyslog, и мой файл журнала счастливо появился там, где он должен быть ... с syslog / adm в качестве пользователя / группы.источник
должно быть:
запустить удаленную регистрацию!
источник