我只是遇到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
答案 0 :(得分:1)
尝试切换到该用户并读取文件,而不是在节点内部尝试:
su strong-pm
cat /root/my_dir/file.txt
如果可行,请确保节点正在使用该用户运行。
答案 1 :(得分:0)
试试这个:
.{otherPATH}/root/my_dir/file.txt
答案 2 :(得分:0)
似乎问题是/ root目录受到保护,因此节点无法以某种方式访问子目录