在 Debian 系统中,/var/log/messages 日志文件的权限可以通过 chmod 和 chown 命令来修改。不过需要注意:现代 Debian 默认可能不再使用 /var/log/messages,而是使用 rsyslog 或 systemd-journald,日志可能在 /var/log/syslog。
下面分情况说明。
ls -l /var/log/messages
如果不存在,通常日志在:
/var/log/syslog
sudo chmod 640 /var/log/messages
常见权限说明:
600:仅 root 可读写640:root 读写,特定组可读644:所有人可读(不推荐)sudo chown root:adm /var/log/messages
Debian 日志常见配置:
rootadm(允许 adm 组成员读取日志)不要直接改文件权限,否则重启或日志轮转后会失效。
编辑配置:
sudo nano /etc/rsyslog.conf
或新建文件:
sudo nano /etc/rsyslog.d/10-messages.conf
示例内容:
$FileCreateMode 0640
$FileOwner root
$FileGroup adm
*.info;mail.none;authpriv.none;cron.none /var/log/messages
重启 rsyslog:
sudo systemctl restart rsyslog
Debian 默认可能不再写 /var/log/messages。
查看日志:
journalctl
查看权限:
ls -l /var/log/journal
修改 journal 权限(不推荐手动改):
sudo chown -R root:systemd-journal /var/log/journal
sudo chmod -R 2755 /var/log/journal
更推荐的方式是:
sudo usermod -aG systemd-journal 用户名
编辑 logrotate 配置:
sudo nano /etc/logrotate.d/rsyslog
示例:
/var/log/messages {
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate 2>/dev/null || true
endscript
create 0640 root adm
}
rsyslog 或 logrotate 重新创建adm 组:sudo usermod -aG adm 用户名
如果你愿意,可以告诉我:
cat /etc/debian_version)rsyslog 还是 systemd我可以给你精确配置方案。