gpt4 book ai didi

node.js - Electron - sudo 命令

转载 作者:行者123 更新时间:2023-12-03 12:20:32 27 4
gpt4 key购买 nike

我有一个用于文件操作的小应用程序。它主要处理用户的文件,但有时需要访问 macOS 文件,因此我需要管理员访问权限。

有没有办法只询问用户一次 root 访问权限,这样整个应用程序都有它,并且用户不需要在每次需要运行 sudo 命令时都输入密码?

我一直在寻找一个不错的解决方案,一个是要求用户输入密码并将其存储在本地,但以后使用它不再被认为是“安全的”。

最佳答案

Electron-sudo 为管理员/root 权限提供 GUI。安装方式

npm install electron-sudo

Electron 代码应该有,

import Sudoer from 'electron-sudo';

let options = {name: 'electron sudo application'},
sudoer = new Sudoer(options);

/* Spawn subprocess behavior */
let cp = await sudoer.spawn(
'echo', ['$PARAM'], {env: {PARAM: 'VALUE'}}
);
cp.on('close', () => {
/*
cp.output.stdout (Buffer)
cp.output.stderr (Buffer)
*/
});

/* Exec subprocess behavior */
let result = await sudoer.exec(
'echo $PARAM', {env: {PARAM: 'VALUE'}}
);
/* result is Buffer with mixed (both stdout and stderr) output */


/* Usage with Vanila JS */

var Sudoer = require('electron-sudo').default;
var sudoer = new Sudoer(options);
sudoer.spawn('echo', ['$PARAM'], {env: {PARAM: 'VALUE'}}).then(function (cp) {
/*
cp.output.stdout (Buffer)
cp.output.stderr (Buffer)
*/
});

官方存储库位于 https://github.com/automation-stack/electron-sudo

关于node.js - Electron - sudo 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55580287/

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