【问题标题】:running a process as a different user from Python [duplicate]以与 Python 不同的用户身份运行进程 [重复]
【发布时间】:2012-11-29 07:50:22
【问题描述】:

我正在以具有 root 访问权限的 userA 身份运行脚本,我想通过该脚本进行 popen() 调用并以 userB 身份运行不同的进程。

os.setuid() 似乎对此不起作用(除非我做错了?),我想避免使用基于 linux 的解决方案,例如 su -userB -c <command>

当脚本以userA 运行时,是否有一种以userB 运行进程的pythonic 方式?

【问题讨论】:

  • 以下答案对此有一个非常好的方法:stackoverflow.com/a/6037494/505154
  • +1 为@F.J.我在自己的代码中使用的方法相同。
  • +1 也适用于@F.J,效果很好!如果您想在这里总结答案,我很乐意为您提供一些代表和答案。

标签: python linux popen


【解决方案1】:

以下答案对此有一个非常好的方法:https://stackoverflow.com/a/6037494/505154

那里有一个工作代码示例,但总结是使用subprocess.Popen()preexec_fn 来设置子进程的环境,以便它作为另一个用户执行。

【讨论】:

猜你喜欢
  • 2010-12-18
  • 2020-11-16
  • 1970-01-01
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
  • 2010-10-03
  • 1970-01-01
  • 2019-07-16
相关资源
最近更新 更多