Sudo в скрипт и вызовите старую пользовательскую среду для возвращающейся оболочкиLinux

Anonymous
Sudo в скрипт и вызовите старую пользовательскую среду для возвращающейся оболочки

Сообщение Anonymous »

Я пишу сценарий Python, работающий с командами Linux «ip» и «iw», поэтому сценарий необходимо запускать от имени пользователя root (sudo myscript.py)
В конце: сценарий определяет URI, который нужно использовать, и вызывает «xdg-open $URI».
Плохая идея, потому что «xdg-open» не любит работать в корневом контексте.
Первая идея (как тест):

Код: Выделить всё

result = subprocess.run("sudo -u#1000 xdg-open " + strURI, shell=True)
Работает, НО: среда пользователя № 1000 не используется, что вызывает проблемы, поскольку ~/bin/ отсутствует в $PATH, поэтому некоторые пакеты не выполняются.
Есть идеи?
Попробовал «sudo -u $user -i xdg-open ...» - та же проблема.>

Подробнее здесь: https://stackoverflow.com/questions/793 ... ning-shell

Вернуться в «Linux»