7
我正在運行腳本作爲userA
,該腳本擁有根訪問權限,從此腳本中我想撥打popen()
調用並運行與userB
不同的進程。以Python中的其他用戶的身份運行進程
os.setuid()似乎並沒有對這項工作(除非我這樣做不對?),我想避免一個基於Linux的解決方案,如su -userB -c <command>
是否有運行的Python的方式作爲userB
而腳本運行的過程爲userA
?
我正在運行腳本作爲userA
,該腳本擁有根訪問權限,從此腳本中我想撥打popen()
調用並運行與userB
不同的進程。以Python中的其他用戶的身份運行進程
os.setuid()似乎並沒有對這項工作(除非我這樣做不對?),我想避免一個基於Linux的解決方案,如su -userB -c <command>
是否有運行的Python的方式作爲userB
而腳本運行的過程爲userA
?
以下的答案必須有這個一個非常好的做法:https://stackoverflow.com/a/6037494/505154
有正常工作的代碼示例有,但總結是使用subprocess.Popen()
有preexec_fn
建立子進程的環境,以便其執行作爲另一個用戶。
以下答案對此有一個非常好的方法:http://stackoverflow.com/a/6037494/505154 –
@ F.J的+1。我在自己的代碼中使用了相同的方法。 – jdi
+1以及@ F.J這很好!如果你想在這裏總結答案,我很樂意給你一些代表和答案。 – EEP