我有一段我想以非 root 身份运行的代码。如果程序以非 root 身份运行,则无需发生任何事情。但是如果程序以 root 身份运行,则需要删除 root 权限,执行代码段,然后再次启用 root 权限。你如何为启用/禁用编写代码?
问问题
2844 次
2 回答
0
尝试os.getuid()和os.setuid()。您可以使用它们在脚本中切换用户。
于 2012-11-06T06:29:27.040 回答
0
尝试以下操作:
import os
print "user who executed the code: %d" % os.getuid()
print "current effective user: %d" % os.geteuid()
if os.getuid() == 0:
os.seteuid(65534) # user id of the user "nobody"
print "current effective user: %d" % os.geteuid()
# do what you need to do with non-root privileges here, e.g. write to a file
print >> open("/tmp/foobar.txt", "w"), "hello world"
os.seteuid(0)
print "current effective user: %d" % os.geteuid()
将其作为根输出运行:
执行代码的用户:0 当前有效用户:0 当前有效用户:65534 当前有效用户:0
于 2012-11-06T06:50:14.040 回答