在 Linux 下修改 JS(Node.js)日志文件的权限,通常就是改文件/目录的权限和属主,下面按常见场景说明。
ls -l /path/to/logs/
ls -l /path/to/logs/app.log
示例输出:
-rw-r--r-- 1 root root 1234 Jun 10 10:00 app.log
chmod 666 /path/to/logs/app.log
chmod 644 /path/to/logs/app.log
chmod 755 /path/to/logs
如果 Node 是用 www 或 node 用户运行的:
chown node:node /path/to/logs/app.log
chown -R node:node /path/to/logs
Error: EACCES: permission denied, open '/var/log/app.log'
解决:
chown node:node /var/log/app.log
chmod 644 /var/log/app.log
pm2 start app.js --user node
Node 默认按 umask 创建文件(常见 022 → 644)
const fs = require('fs');
fs.writeFileSync('app.log', 'log', { mode: 0o666 });
/var/log/app/ 755 node:node
/var/log/app/*.log 644 node:node
/var/log/app/*.log {
rotate 7
daily
compress
missingok
notifempty
create 644 node node
}
如果你能告诉我:
我可以给你精确命令。