加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 00:02:29 所属栏目:Linux 来源:网络整理
导读:是否可以在没有存储在我的脚本内存中并且以root身份运行一些os.*命令的情况下请求root pw? 我的剧本 扫描一些文件夹和文件,以检查它是否可以完成这项工作 在/ etc /中进行一些更改… 创建应由运行脚本的用户拥有的文件夹和文件 (1)可以作为普通用户完成.我
是否可以在没有存储在我的脚本内存中并且以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身份执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读