是否有可能实现一个sudo
上下文管理器,将封闭范围作为另一个用户运行,使用sudoers系统?
system('whoami') # same result as echo $USER
with sudo():
system('whoami') # root
我怀疑sudo(8)
可执行文件对我有帮助,但也许有一些C级接口可以绑定?
动机:我几乎可以完全将此shell脚本移植到Python上,甚至没有任何子进程,但目前我必须使用system('sudo sh -c“ echo%i> /dev/thatfile”%value)
。如果我能用with sudo(),open('/ dev / thatfile','w')as thatfile:thatfile.write(str(value))
就太优雅了。
sudo
命令,你可能需要查看 fabric 源代码以了解它是如何实现的。 - J0HN