当使用su执行一个节点程序时,权限被拒绝
这里是我的节点程序
var fs = require('fs'); fs.writeFileSync('./data.txt', 'test');
它在/ home / test /中,testing目录的权限是rwxrwxrwx。 当我运行与tomcat帐户节点test.js,data.txt可以创build。
但是当我运行一个服务来执行su tomcat -c'node /home/test/test.js'时,无法创builddata.txt,并且在stdout中存在权限被拒绝的提示。
sudo service test
这里是我在/etc/init.d中的服务
su tomcat -c 'node /home/test/test.js'
谁能告诉我为什么
这可能是几件事情。 例如,当从init.d运行时,当前目录不是/ home / test。
我build议将stderr和stdout的输出连接到一个日志文件到允许写入的特定(而不是相对)区域(例如/ var / log)。