#javascript #node.js
#javascript #node.js
Вопрос:
Я использую exec
from child_process
в узловом приложении для запуска некоторых команд оболочки.
Проблема в том, что мне нужны sudo
привилегии для запуска некоторых команд, и я не уверен, как программно реагировать на запрос пароля.
Я не хочу, чтобы приложение зависало, пока пользователь не введет пароль, я хочу, чтобы приложение вводило пароль по умолчанию и выполняло команды, требующие sudo
использования указанного пароля.
Возможно ли это? В идеале я хотел бы сделать это без предварительного входа в систему как su
, т.е. просто запустить приложение и заставить его работать.
Пожалуйста, никаких дополнительных библиотек.
Комментарии:
1. Можете ли вы предоставить дополнительную информацию? Почему бы не разрешить владельцу процесса запускать указанные команды без необходимости вводить пароль?
2. Как правило, это очень плохая идея, если вы принимаете какой-либо пользовательский ввод. sudo существует по очень веской причине… с оговоркой: это зависит от того, какую ОС вы используете, если вы работаете в Linux, вы бы поместили команды, которые вам нужны для запуска от имени root, в файл sh и использовали visudo для предоставления этому конкретному скрипту root-прав. blog.rodneyrehm.de/archives/36-Always-Run-Script-As-Root.html
3. @Philippe Я хотел бы делать все из приложения node.
4. @MatthewLerner насколько я знаю, это невозможно по очень веским соображениям безопасности.
5. @FelixKling В принципе, это для «собственного» приложения. Я бы хотел, чтобы пользователь просто запустил приложение и заставил его «просто работать».
Ответ №1:
Вы могли бы установить SUID для файла, чтобы он всегда запускался с разрешениями владельца файла или GUID, если вы хотите, чтобы он запускался с разрешениями группы. Более подробную информацию можно найти здесь