在 Debian(以及大多数 Linux 发行版)里,“日志”通常指 /var/log 下的文件,由 rsyslog / syslog / systemd-journald 等管理。修改日志权限要分情况来说,否则容易“改了又被还原”或影响安全。
ls -l /var/log/
示例:
-rw-r----- 1 root adm 12345 Apr 10 10:00 syslog
sudo chmod 640 /var/log/syslog
sudo chown root:adm /var/log/syslog
常用权限说明:
600:仅 root 可读写640:root 读写,adm 组可读644:所有人可读(不推荐)将用户加入 adm 组:
sudo usermod -aG adm 用户名
编辑 rsyslog 配置:
sudo nano /etc/rsyslog.conf
在文件顶部添加:
$FileCreateMode 0640
$FileOwner root
$FileGroup adm
重启服务:
sudo systemctl restart rsyslog
以后新日志都会按这个权限生成。
ls -l /var/log/journal/
编辑:
sudo nano /etc/systemd/journald.conf
示例:
Storage=persistent
SystemMaxUse=500M
权限相关(较少改):
# 日志文件权限
# 默认只有 root 和 systemd-journal 组
让普通用户看 journal:
sudo usermod -aG systemd-journal 用户名
编辑:
sudo nano /etc/logrotate.d/rsyslog
示例:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
create 0640 root adm
}
create 0640 root adm 决定轮换后的权限。
❌ 直接 chmod 777 /var/log
❌ 把日志改成所有人可写
→ 会导致安全审计失效、日志被篡改
| 需求 | 推荐做法 |
|---|---|
| 普通用户看日志 | 加入 adm 或 systemd-journal |
| 新日志固定权限 | 改 rsyslog / logrotate |
| 临时调试 | sudo chmod |
| 应用写自己的日志 | 自建目录并设属主 |
如果你能说明:
我可以直接给你一条最合适的命令。