检查 python 脚本中的管理员权限

检查 python 脚本中的管理员权限

如何检查我的 python 脚本是否在类似 BSD 的操作系统下以管理员权限 (sudo) 运行?需要显示用户友好的警告,以便在没有管理员权限的情况下执行。

答案1

那这样怎么样?检查是否uid == 0

[kbrandt@kbrandt-admin: ~] python -c 'import os; print os.getuid()'
196677

[kbrandt@kbrandt-admin: ~] sudo python -c 'import os; print os.getuid()'
0

答案2

那这个怎么样:

import os
username=os.system("whoami")
if username is not "root":
    print "You aren't root"
else:
    print "Hello, "+username

答案3

不要试图将用户名与字符串“root”进行匹配。

一般来说,您要么必须提供效率较低的标注来获取 UID 的文本表示,要么您将依赖于可能不太可靠的环境变量。

相关内容