запуск процесса от имени другого пользователя в 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 чтобы настроить среду подпроцесса так, чтобы он выполнялся как другой пользователь.