在 CentOS 上修改 Java 应用日志文件的权限,通常分几种情况,下面按常见场景给你说明。
ls -l /path/to/logs/
chmod 644 app.log
或给所有日志:
chmod 644 /path/to/logs/*.log
常见权限说明:
644:owner 可读写,其他只读664:组内可写600:仅 owner 可读写Java 程序一般以某个用户运行(如 tomcat、appuser)。
chown appuser:appuser app.log
chown -R appuser:appuser /path/to/logs
很多问题是:已有日志改了,但程序新建的日志还是没权限
ps -ef | grep java
chmod 755 /path/to/logs
chown appuser:appuser /path/to/logs
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/path/to/logs/app.log</file>
</appender>
确保:
即使 ls -l 权限正常,也可能写不进日志。
getenforce
ausearch -m avc -ts recent
setenforce 0
semanage fcontext -a -t var_log_t "/path/to/logs(/.*)?"
restorecon -Rv /path/to/logs
如果是 systemd:
[Service]
User=appuser
Group=appuser
改完重启:
systemctl restart yourapp
755)如果你能贴出:
我可以直接给你精确命令。