如何检查我的 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 的文本表示,要么您将依赖于可能不太可靠的环境变量。