在 Linux 上设置 JS 日志文件 / 日志目录的权限,通常要从 安全性、可写性、最小化权限 三个角度考虑。下面分场景说明。
/var/log/myapp/
node 或普通用户sudo mkdir -p /var/log/myapp
sudo chown -R node:node /var/log/myapp
sudo chmod 750 /var/log/myapp
如果程序自己创建日志:
sudo touch /var/log/myapp/app.log
sudo chown node:node /var/log/myapp/app.log
sudo chmod 640 /var/log/myapp/app.log
node app.js
[Service]
User=node
Group=node
确保:
/var/log/myapp 属主是 node
使用 logrotate 防止日志撑爆磁盘:
sudo vim /etc/logrotate.d/myapp
示例:
/var/log/myapp/*.log {
daily
rotate 14
compress
missingok
notifempty
create 640 node node
}
如果是 Docker:
-v /var/log/myapp:/app/logs
USER node
✅ 不要 777
✅ 不要 root 跑 Node
✅ 日志目录 750 / 755
✅ 日志文件 640 / 644
✅ 用 logrotate
如果你能告诉我:
我可以给你一套精确权限方案。