gpt4 book ai didi

python - 如何以 root 身份执行 os.* 方法?

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:49 24 4
gpt4 key购买 nike

是否可以请求 root 密码而不存储在我的脚本内存中并以 root 身份运行一些 os.* 命令?

我的脚本

  1. 扫描一些文件夹和文件以检查它是否可以完成这项工作
  2. 对/etc/... 进行一些修改
  3. 创建应归运行脚本的用户所有的文件夹和文件

(1) 可以作为普通用户完成。我可以通过对脚本执行 sudo 来执行 (2),但是 (3) 中的文件夹和文件将是 root 的。

问题是我使用了很多 os.makedirs、os.symlink 等,这使我无法让普通用户运行它。

Tanks 2 所有的建议

目前的解决方案是:

# do all in sudo
os.chown(folder, int(os.getenv('SUDO_UID')), int(os.getenv('SUDO_GID')))

感谢 gnibbler 的提示。

最佳答案

也许你可以把 (2) 放在一个单独的脚本中,比如说 script2.py,然后在主脚本中你用 调用 sudo script2.py打开

这样只有 (2) 会以 root 身份执行。

关于python - 如何以 root 身份执行 os.* 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1636136/

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