有没有可能的方法来实现一个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))
。