Linux 日志权限问题通常表现为:无法读取日志、服务写不进日志、权限拒绝(Permission denied)。下面按「常见原因 → 对应解决办法」来说明。
/var/log/messages、/var/log/syslog/var/log/secure、/var/log/auth.log/var/log/nginx/、/var/log/mysql/默认通常:
rootroot 或 adm、syslog640 或 600现象
cat /var/log/messages
cat: /var/log/messages: Permission denied
解决
sudo cat /var/log/messages
adm):sudo usermod -aG adm youruser
⚠️ 重新登录后生效
现象
原因
解决
sudo chown -R nginx:nginx /var/log/nginx
sudo chmod 755 /var/log/nginx
或 MySQL:
sudo chown -R mysql:mysql /var/log/mysql
现象
/var/log/audit/audit.log 中有 AVC 拒绝排查
getenforce
sestatus
解决
setenforce 0
semanage fcontext -a -t var_log_t "/var/log/myservice(/.*)?"
restorecon -Rv /var/log/myservice
现象
解决
在 /etc/logrotate.d/ 中指定:
create 0640 nginx nginx
然后:
sudo logrotate -f /etc/logrotate.d/nginx
修复示例
sudo chmod 640 /var/log/messages
sudo chown root:root /var/log/messages
❌ 不建议:
chmod 777 /var/log
✅ 推荐:
如果是 systemd 系统:
journalctl -u nginx
journalctl -xe
权限由 systemd 管理,更安全。
如果你能说一下:
我可以给你精确命令。