gpt4 book ai didi

python - 区分 sudo

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:12 29 4
gpt4 key购买 nike

我想让我的用户根据他的选择以 sudo 和普通用户身份运行。他可以使用 sudo 或普通用户,但如果不使用 sudo,我必须禁用某些功能来消除错误。那么我怎么知道该用户是否给了我 sudo 执行权限?我正在 python 上构建我的应用程序。

最佳答案

读了几遍你的问题后,我想我知道你在问什么。我是否正确地认为您想知道如何判断您的 python 脚本在运行时是否具有 root 权限?

如果你确实想提前检查,你可以使用 os.geteuid() 查询系统的用户 ID。如果它返回 0 ,您的脚本正在以 root 身份运行。

但是,另一种方法是简单地运行try中需要root权限的代码。堵塞。这可能是也可能不是更好的解决方案,具体取决于您想要做什么。如果您没有所需的权限,您还必须知道预期的异常类型。这使得编写起来有点困难,但代码最终可能会更灵活地适应不断变化的环境,例如具有足够权限但不是 root 的用户。尽管异常(exception)情况可能会因一个操作系统而异,但它也可能会产生更可移植的代码。

例如

try:
function_that_needs_root()
except MyNotRootException:
print "Skipping function_that_needs_root: you are not root"

关于python - 区分 sudo <command> 和 <command>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38574999/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com