我想在nodejs中显示图形密码提示以提升特权,从而获得将文件内容复制到另一个内容的一些权力,但最后一个由root拥有。
在实现中,我尝试使用带有dd
函数的gksudo
执行exec()
及其参数。
exec = require('child_process').exec
printall = function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error) {
console.log('exec err: ' + error);
}
}
exec("gksudo dd if=/home/user/minor.txt of=/home/user/major.txt", printall)
但我总是失败,没有充分的理由。
它说,
stdout:
stderr:
exec err: Error: Command failed: /bin/sh -c gksudo dd if=/home/user/minor.txt of=/home/user/major.txt
如果我将命令重播到终端,它会错过双引号,而只会运行gksudo
。好吧,在nodejs中,它只是失败了。
我最初开发Atom包。这是我的第一次,所以,我发现了不同版本的Node(或IOJs?)。我在Atom中执行整个代码。
如果你期待一个明确的问题,那么可能
如何在node.js中执行
gksudo
以运行其他命令以及参数?