Bất cứ ai có thể cho tôi biết những gì tôi đã làm sai ở đây?
Đây là câu hỏi cuối cùng:
Tại sao khi tôi sử dụng lệnh logger tôi không thể đưa nó ra đầu ra tệp nhật ký tùy chỉnh /var/log
?
Trong kịch bản của tôi:
logger -i -t ANM -p local7.info "This is a local 7 test"
Trong phần rsyslog.conf
tôi nối phần sau vào cuối tệp:
local7.* /var/log/anm.log
Ngoài ra, tập lệnh có quyền cho /var/log/anm.log
tập tin
* CẬP NHẬT *
Vì vậy, tôi quên khởi động lại các dịch vụ đăng nhập. Tôi đã thử khởi động lại và " service rsyslog restart
" Vẫn không thay đổi. Văn bản kiểm tra không hiển thị trong /var/log/anm.log
nhưng nó xuất hiện trong/var/log/syslog
* CẬP NHẬT *
Cần những quyền /var/log/"yourlogfilehere"
gì? Owner
, Group
, rwx
?
Tôi đã thử thiết lập grp và own để root và tên người dùng đang chạy lệnh logger. Không có thay đổi với một trong hai.
Tôi cũng đã thử tạo các tệp nhật ký trong một thư mục tùy chỉnh trong /var/log
. tức là /var/log/anm/anm.log
và thiết lập cả hai loại quyền cho thư mục.
* CẬP NHẬT *
rsyslogd đang chạy
syslog 598 0.0 0.1 31060 1292 ? Sl 03:02 0:02 rsyslogd -c5
và đây là đầu ra từ /etc/rsyslog.conf
tập tin của tôi
# /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
Tôi cũng đã thử đưa nó vào /etc/rsyslog.d/50-default.conf
(Tôi đang chạy 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
* CẬP NHẬT *
Vâng cuối cùng tôi đã tìm ra nó. Tôi ước ai đó đã trả lời điều này cho tôi. Mất vài ngày để tìm ra điều gì sai, nhưng tôi đoán là không có nhiều người sử dụng siêu người dùng.
Vấn đề là với các quyền của tệp nhật ký tùy chỉnh như tôi đã lý thuyết ban đầu. Tôi nghĩ rằng tôi đã có quyền chính xác, nhưng hóa ra chủ sở hữu cần phải là syslog
và nhóm adm
. Tôi xác định điều này bằng cách so sánh với các user.log
tập tin. Khi quyền đã được sửa đổi và kiểm tra lại, tất cả đều hoạt động hoàn hảo! Tôi hy vọng điều này sẽ giúp người khác nhanh hơn tôi có thể tìm thấy câu trả lời.