首页 > 解决方案 > 在 Electron App 的 sudo.exec 中编写代码

问题描述

我需要在很多地方以管理员权限执行代码。我找到 sudo.exe 并成功提示用户输入权限和密码。我仍然无法弄清楚如何准确地使用 sudo.exe。因为我在删除需要管理员权限的文件时遇到相同的权限被拒绝错误。这就是我的代码的样子:

const fs = require('fs')
var sudo = require('sudo-prompt');

var options = {
    name: 'Electron',
};

sudo.exec('echo hello', options,
    function(error, stdout, stderr) {
    if (error) throw error;

    // Code that I want to run with admin rights

    fs.unlinkSync("/private/var/log/fsck_hfs.log", (err) => {
        alert("File succesfully deleted");
    });
}
);

我认为这种方法只能用于运行命令,例如echo hello在这种情况下。如果我真的想执行一段代码而不是一个命令怎么办?这种方法是否有效,或者这些是否有任何其他可用的方法?

Electron 中是否有更好的方法来获得特权?

标签: javascriptmacoselectronsudopermission-denied

解决方案


推荐阅读