У меня есть приложение node.js, которое использует команду child_process.execFile для запуска утилиты командной строки.Как Secure использует execFile для скриптов Bash?
Я обеспокоен тем, что пользователь может запускать команды локально (на ум приходит сценарий ужасов rm/-rf
).
Насколько безопасно использовать execFile для скриптов Bash? Любые советы по обеспечению того, чтобы флаги, которые я передал execFile, были экранированы блоком unix, на котором размещен сервер?
Редактировать
Чтобы быть более точным, я более интересно, если аргументы направляются в файл может быть истолковано как команда и выполняется.
Другая проблема заключается в самом скрипте bash, который технически выходит за рамки этого вопроса.
Конечно, это возможно, контроль безопасности с разрешениями. Это безопасно, как вы это делаете. – Chad
Я просто собираюсь бросить это как комментарий, но я бы предложил никогда не использовать пользовательский ввод для чего-то подобного. Если имеется ограниченное количество опций, возьмите вход и затем выберите, какой флаг нужно вставить в команду, но напрямую не вставляйте данные пользователя в команду. – travis
Что вы подразумеваете под «флаги, которые я передаю execFile, экранируются блоком unix, на котором размещен сервер»? –