Я хочу sudo команду из pythonscript без жесткого кодирования моего пароля. Pythonscript является частью веб-службы на Apache2. Поскольку он является частью веб-службы, каждый раз запрашивать у пользователя пароль, это не вариант, и не дает полного права на всю папку.
Команда должна выполнить скомпилированный файл C ++ (чье имя хранится в переменной «CMDexecutable»). Этот скомпилированный файл C ++ находится во временной папке, которая создается как часть службы со случайным именем. Путь хранится в переменной «rundir_temp». Этот каталог доступен для свободного доступа через Интернет.
Теперь у меня есть следующее в моем Pythonscript:
Popen(os.path.join(rundir_temp,CMDexecutable),stdout=PIPE)
Это не выполняет скрипт, который у меня есть. Я могу выполнить только скомпилированный файл C ++, введя следующее в терминале в каталоге «rundir_temp»:
sudo ./CMDexecutable
Все работает отлично.
Как я могу дать sudo права на эту команду в моем Pythonscript без hardcoding мой пароль?
Я нашел эту тему, которая обсуждает очень похожую тему, но я просто не могу заставить ее работать ... Я новичок как для Python, так и для Ubuntu, так что, возможно, вы заметили основную вещь?
У меня Ubuntu 14.04 LTS и Python 2.7.6
Спасибо заранее!