是否可以在不存储在我的脚本内存中的情况下请求 root pw 并以 root 身份运行一些 os.* 命令?
我的剧本
- 扫描一些文件夹和文件以检查它是否可以完成这项工作
- 在 /etc/... 中进行一些更改
- 创建应该由运行脚本的用户拥有的文件夹和文件
(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的提示。