【发布时间】:2015-11-10 19:04:57
【问题描述】:
我在/var/lib/tomcat7/webapps/ROOT/DataMining/文件夹中有以下文件:
drwxr-xr-x 6 al al 4096 Nov 10 20:53 ./
drwxr-xr-x 4 al al 4096 Nov 10 09:36 ../
-rw-r--r-- 1 al al 163 Nov 10 20:53 1447181583
drwxr-xr-x 3 al al 4096 Nov 10 10:48 html/
drwxr-xr-x 3 al al 4096 Nov 9 23:15 node.js/
-rw-r--r-- 1 al al 144 Nov 10 20:53 query
drwxr-xr-x 3 al al 4096 Nov 10 20:27 source/
drwxrwxr-x 3 al al 4096 Nov 10 20:53 target/
在 node.js 里面我有这个文件:
-rw-rw-rw- 1 al al 526 Jul 20 2014 config.html
-rw-rw-r-- 1 al al 19 Jul 20 2014 end.html
drwxr-xr-x 8 al al 4096 Nov 9 19:23 node_modules/
-rwxrwxrwx 1 al al 1160 Jul 20 2014 script.sh*
-rw-rw-r-- 1 al al 2889 Nov 9 23:08 server.js
-rw-rw-r-- 1 al al 676 Aug 30 2014 start.html
文件server.js 使服务器侦听端口9080,然后处理来自config.html 的输入并运行script.sh。
config.html 的内容是这样的:
<form action="http://localhost:9080/config" method="post">
<input type="text" name="data">
<input type="submit" id="button" value="config"></input>
</form>
但由于某种原因,在开始运行服务器后,当我提交数据时,我得到它询问我的 root 密码,并且在我输入它之后它再次询问。我的用户名是al,我怎样才能让server.s 在不询问我密码的情况下完成它的工作?
这是server.js的相关内容:
app.post('/config', function (req, res) {
var source = req.body.data;
var script = '/home/al/Projects/DataMining/node.js/script.sh ' + source;
exec(script);
addCronTab(script);
//readFile - respon file that read..
res.end('success');
});
app.get('/select', function (req, res) {
selectQuery(req,function (err, guides) {
var text = fs.readFileSync('/home/al/Projects/DataMining/node.js/start.html', 'utf8');
if (!err && guides) {
text += guides;
} else {
text += "NO DATA FOUND";
}
text += fs.readFileSync('/home/al/Projects/DataMining/node.js/end.html', 'utf8');
res.end(text);
});
});
【问题讨论】:
标签: linux node.js permissions