Tag: setuid

从长时间运行的进程中以不同的用户身份运行subprocess

我有一个长期运行的守护进程的Python进程,它在某些事件发生时使用subprocess产生新的subprocess。 长时间运行的过程由拥有超级用户权限的用户启动。 我需要subprocess产生作为不同的用户(例如“nobody”)运行,同时保留父进程的超级用户权限。 我目前正在使用 su -m nobody -c <program to execute as a child> 但这似乎重量级,并不会很干净地死去。 有没有办法做到这一点编程而不是使用苏? 我正在查看os.set * uid方法,但是Python std lib中的文档在该区域相当稀疏。