在 Ubuntu 里,syslog 本身通常由 rsyslog 或 syslog-ng 提供服务,所谓“设权限”一般包含三类场景:
下面分别说明。
ls -l /var/log/syslog
典型输出:
-rw-r----- 1 syslog adm 12345 Jun 10 10:00 /var/log/syslog
含义:
syslogadm640sudo chmod 640 /var/log/syslog
sudo chown syslog:adm /var/log/syslog
将用户加入 adm 组:
sudo usermod -aG adm username
重新登录后生效。
sudo nano /etc/rsyslog.conf
或
sudo nano /etc/rsyslog.d/50-default.conf
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
说明:
0640:属主读写,组只读sudo systemctl restart rsyslog
Ubuntu 默认使用:
/run/systemd/journal/syslog
/var/spool/rsyslog
sudo chown root:syslog /var/spool/rsyslog
sudo chmod 0750 /var/spool/rsyslog
通过 apparmor 或 systemd 限制服务权限。
# /etc/rsyslog.conf
module(load="imtcp")
input(type="imtcp" port="514"
ruleset="remote")
ruleset(name="remote") {
if ($fromhost-ip == "192.168.1.100") then {
action(type="omfile" file="/var/log/remote.log")
}
}
sudo ufw allow from 192.168.1.100 to any port 514
640others 读权限chattr +a(仅追加)sudo chattr +a /var/log/syslog
如果你能具体说:
我可以给你更精确的配置示例。