是否可以在没有存储在我的脚本内存中并且以root身份运行一些os.*命令的情况下请求root pw?
我的剧本
>扫描一些文件夹和文件,以检查它是否可以完成这项工作
>在/ etc /中进行一些更改…
>创建应由运行脚本的用户拥有的文件夹和文件
(1)可以作为普通用户完成.我可以通过sudoing脚本来做(2),但是(3)中的文件夹和文件将是root的.
问题是我使用了很多os.makedirs,os.symlink等,这使我无法让普通用户运行它.
坦克2都是建议
到目前为止的解决方案是:
# do all in sudo
os.chown(folder, int(os.getenv('SUDO_UID')), int(os.getenv('SUDO_GID')))
感谢gnibbler提示.
最佳答案 也许你可以把(2)放在一个单独的脚本中,比如说script2.py,在主脚本中你用popen调用sudo script2.py?
这样只有(2)将以root身份执行.