使用 su 执行节点程序时权限被拒绝
permission denied when using su to execute a node program
这是我的节点程序
var fs = require('fs');
fs.writeFileSync('./data.txt', 'test');
在/home/test/,test目录权限为rwxrwxrwx。
当我 运行 使用 tomcat 帐户节点 test.js 时,可以创建 data.txt。
但是当我运行一个服务执行sutomcat -c 'node /home/test/test.js',
无法创建 data.txt 并且标准输出中存在权限被拒绝的提示。
sudo service test
这是我在 /etc/init.d
的服务
su tomcat -c 'node /home/test/test.js'
谁能告诉我为什么
可能是几件事。例如,当 运行 来自 init.d.
时,当前目录不是 /home/test
我建议将 stderr 和 stdout 的输出通过管道传输到允许写入的特定(非相关)区域的日志文件(例如 /var/log)。
这是我的节点程序
var fs = require('fs');
fs.writeFileSync('./data.txt', 'test');
在/home/test/,test目录权限为rwxrwxrwx。 当我 运行 使用 tomcat 帐户节点 test.js 时,可以创建 data.txt。
但是当我运行一个服务执行sutomcat -c 'node /home/test/test.js', 无法创建 data.txt 并且标准输出中存在权限被拒绝的提示。
sudo service test
这是我在 /etc/init.d
的服务su tomcat -c 'node /home/test/test.js'
谁能告诉我为什么
可能是几件事。例如,当 运行 来自 init.d.
时,当前目录不是 /home/test我建议将 stderr 和 stdout 的输出通过管道传输到允许写入的特定(非相关)区域的日志文件(例如 /var/log)。