gpt4 book ai didi

python - 如何在 Python 脚本中执行 "un-sudo"一条命令?

转载 作者:太空狗 更新时间:2023-10-29 12:16:48 26 4
gpt4 key购买 nike

我有一个 Python 脚本,我想将其作为 sudo python script.py 运行,因为有许多 Pygame 命令需要 sudo 权限。

但是,脚本中只有一个 shell 命令(使用 os.system('...'))如果以 sudo 运行则无法运行,但以标准用户运行则运行良好在命令行中的脚本之外。

是否有一种简单的方法来“取消 sudo”这一个命令?如果做不到这一点,我是否可以使用 python script.py 运行脚本并对除相关行之外的所有行拥有 sudo 权限?

最佳答案

可以使用 sudo 删除权限:

sudo -u unprivileged-user command ...

...但这并不意味着您可以回到权限升级之前的确切状态;补充组可能不对,安全标签可能不对等,简而言之,这是一种破坏性操作。

最佳做法是完全避免需要升级权限,例如直接向用户授予执行特定任务所需的访问权限。这种特定情况听起来您需要访问帧缓冲区;无需 root 即可轻松提供。

如果您的脚本真的需要升级它的某些权限,最佳实践方法是将您的应用程序分成两个独立的进程——一个执行特权工作,一个做其他事情——并在它们之间使用套接字或管道通信。这是很多工作——在大多数情况下,比配置东西要更多的工作要多得多,这样您根本就不需要权限升级。

关于python - 如何在 Python 脚本中执行 "un-sudo"一条命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830945/

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