Как я могу получить постоянные разрешения в электронном приложении? - PullRequest
0 голосов
/ 12 февраля 2019

Я создаю электронное приложение, в котором мне нужно сканировать и обновлять файлы, для которых требуется разрешение root.Я знаю, что могу запускать такие команды с помощью sudo.exec () следующим образом:

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

И даже я могу поместить несколько команд в скрипт и выполнить их с помощью одного sudo.exec ().В моем случае команды должны выполняться в разное время, и я не могу выполнить их одним скриптом.Это раздражает для пользователя, чтобы предоставить разрешения снова и снова.

Я попытался сделать это по-другому (запустить фрагмент кода, где можно выполнить все, что требует разрешения root).Для этого я разместил еще один вопрос здесь .Но кажется, что это невозможно.

Теперь я хочу получить один раз разрешение на использование при установке приложения (как это делает большинство приложений после их установки пользователем) и возможность использовать его в приложении sudo.exec () или какой-либо другой метод для выполнения команд (предпочтительно также кода fs.readdir и т. д.), которые требуют разрешения root.

1 Ответ

0 голосов
/ 21 мая 2019

Вам необходимо запустить приложение с правами администратора.Если вы используете электронный конструктор для создания приложения, используйте значение requiredExecutionLevel в качестве «requireAdministrator»

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

...