gpt4 book ai didi

javascript - 使用 sudo 从 Node.js 运行命令

转载 作者:行者123 更新时间:2023-12-03 06:00:01 47 4
gpt4 key购买 nike

作为 Node.js 新手,我有这个问题..

我在一些地方看到提到 Node 不应该以root身份运行,例如this 。我只是使用 Node 来设置一个简单 Web 服务并执行需要 root 访问权限的 python 脚本。我只是不明白危险在哪里,比如黑客可以做什么。

我的node.js文件是这样的:-

var http = require('http');
var express = require('express');

var app = express();


app.use(express['static'](__dirname));


app.get('/alert', function(req, res) {
var addr = req.query.addr;
//~ need to check if it is a valid address??
console.log('Received addr -' + addr);

var spawn = require('child_process').spawn;

var process = spawn('python', ['custom-text-led/custom-text.py', addr]);

process.stdout.on('data', function(data) {
console.log('Data:' + data);
});


})

app.get('*', function(req, res) {
res.status(404).send('Unrecognized API call');
});

app.use(function(err, req, res, next) {
if (req.xhr) {
res.status(500).send('Opps, something went wrong');
} else {
next(err);
}
});

app.listen(3000);

console.log('App server running at port 3000');

最佳答案

如果存在任何安全问题,黑客可以做任何事情。您可以授予运行 Web 服务器的用户执行您的任务打算执行的任务的权限。

一般来说,尽可能避免root(戴上锡箔帽)。

关于javascript - 使用 sudo 从 Node.js 运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39785436/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com