nodejs fs eacces permission

时间:2014-12-17 01:39:41

标签: node.js ubuntu permissions fs

我只是遇到fs读取文件的奇怪问题。

我从部署管理器(strongloop strong-pm)运行节点应用程序作为以下用户" strong-pm"。

无论我给文件的权限是什么,我试图通过节点应用程序打开,我得到了

return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);

worker:1 Error: EACCES, permission denied '/root/my_dir/file.txt'
    at Object.fs.openSync (fs.js:432:18)
    at Object.fs.readFileSync (fs.js:286:15)

我已经尝试了一切:
sudo chown -R strong-pm:strong-pm /root/my_dir
sudo chmod -R 777 /root/my_dir
sudo chmod 777 /root/my_dir/file.txt
将强-pm添加到组中 然后将该组添加到目录...

仍然没有运气..任何想法?

谢谢!


系统:DigitalOcean上的Ubuntu 14.04 x64

3 个答案:

答案 0 :(得分:1)

尝试切换到该用户并读取文件,而不是在节点内部尝试:

su strong-pm
cat /root/my_dir/file.txt

如果可行,请确保节点正在使用该用户运行。

答案 1 :(得分:0)

试试这个:

.{otherPATH}/root/my_dir/file.txt

答案 2 :(得分:0)

似乎问题是/ root目录受到保护,因此节点无法以某种方式访问​​子目录