запуск процесса от имени другого пользователя в Python [дубликат]
этот вопрос уже есть ответ здесь:
я запускаю скрипт как userA
с корневым доступом, из этого скрипта я хочу сделать popen()
вызовите и запустите другой процесс как userB
.
os.с setuid() не кажется, работает для этого (если я не делаю это неправильно?), и я хотел бы избежать решения на основе linux, такого как su -userB -c <command>
есть ли подходящие для Python способ запуска процесса как userB
пока скрипт работает как userA
?
1 ответов
следующий ответ имеет действительно хороший подход для этого:https://stackoverflow.com/a/6037494/505154
там есть пример рабочего кода, но сводка должна использовать subprocess.Popen()
с preexec_fn
чтобы настроить среду подпроцесса так, чтобы он выполнялся как другой пользователь.