sudo
запустит приложение с правами суперпользователя. Учитывая, что вы имеете в виду веб-сайт, это, безусловно, , а не , что вы хотите сделать. (Для веб-приложения, если для него требуются разрешения суперпользователя, оно не работает. Это слишком большая угроза безопасности, чтобы рассматривать ее на самом деле.)
При других обстоятельствах у вас может быть программа на python, которая выполняет какое-то обслуживание системы и требует запуска от имени пользователя root. В этом случае вы бы использовали sudo
, но вы бы никогда не захотели бы сделать это для чего-то общедоступного и потенциально может быть использовано. На самом деле, для чего-либо, кроме тестирования, вы, вероятно, должны запускать веб-приложение как отдельный пользователь с очень ограниченным доступом (например, с установленной на /dev/null
оболочкой, без доступа для чтения или записи к тому, что им не нужно, и т. Д.). ..).
Два других фактически идентичны (в терминах того, что они делают), но последний вариант (выполнение сценария напрямую) потребует:
- исполняемый бит, который нужно установить (включен
unix-y системы) (например,
chmod +x whatever.py
)
- a shebang в первой строке (например,
#!
/usr/bin/python
), указывающей на
исполняемый Python, который вы хотите
запускать вещи с помощью (опять же, это относится только к unix-y системам)
Вызов python для запуска кода (python whatever.py
) и выполнение описанных выше действий (в результате получается скрипт, который можно вызвать напрямую с помощью whatever.py
)
сделать то же самое (при условии, что shebang в файле python указывает на тот же исполняемый файл python, что и "python
", в любом случае ...)