javascript - 如何在 Electron 应用程序中获取持久权限?

标签 javascript node.js macos electron sudo

我正在创建一个 Electron 应用程序,我需要在其中扫描和更新需要 root 权限的文件。我知道我可以使用 sudo.exec() 以这种方式运行这样的命令:

sudo.exec ("rm /private/var/log/fsck_hfs.log", options, (e, stdout, stderr) => {});

我什至可以将多个命令放在一个脚本中,并使用单个 sudo.exec() 来执行它们。就我而言,命令需要在不同的时间点执行,我无法使用单个脚本执行它们。用户一次又一次地授予权限很烦人。

我尝试了另一种方式(运行一段代码,其中可以执行需要 root 权限的所有内容)。为此,我发布了另一个问题 here .但似乎是不可能的。

现在我想要一种在使用安装应用程序时获得一次权限的方法(就像大多数应用程序在用户安装它们之后所做的那样)并且能够在整个应用程序中使用 sudo.exec() 或其他一些方法来执行命令(最好还有需要 root 权限的代码 fs.readdir 等)。

最佳答案

您需要以管理员权限运行该应用程序。 如果您使用 electron builder 构建应用程序,请将 requestedExecutionLevel 值用作“requireAdministrator”

https://www.electron.build/configuration/win

关于javascript - 如何在 Electron 应用程序中获取持久权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54652002/

相关文章:

SwiftUI OnDrop 函数取决于条件

linux - 我可以使用对 munmap() 的单个调用来取消映射位于连续虚拟内存范围内的两个内存映射吗?

javascript - Bootstrap 网格缩略图,单击时可展开预览

javascript - 回调函数作为 fetch 中的参数

javascript - 不同分辨率的openlayers加载策略geojson

node.js - nodejs 的网络服务和日期延迟一天出现

node.js - HTTP 响应字符串末尾的奇怪字符

javascript - 如何分解长单词而忽略短单词?

node.js - Webpack 未解析全局安装的 babel 或 babel-loader

ios - 使用 Xcode5.1 错误为 iOS 编译 libogg