将部分python脚本作为sudo运行

时间:2017-08-14 19:55:01

标签: python security subprocess sudo

我试图在task.py模式下仅运行我的脚本sudo的一部分。理想情况下,我会使用以下结构运行task.py

if __name__ == '__main__':
    print('running normal parts')        
    .            .              .
    . [running normal commands] .
    .            .              .

    print('running sudo parts')
    .            .              .
    .  [running sudo commands]  .
    .            .              .

我不必为脚本的sudo部分输入密码,这样我就可以从命令行中调用$ python task.py

告诉Python将第二个块作为sudo运行是否有好处?我看到subprocess模块有办法用sudo privelages调用命令,但我宁愿不把" sudo部分"进入一个单独的脚本来执行"运行sudo命令"一部分。

1 个答案:

答案 0 :(得分:1)

高度 建议将sudo部分放入单独的脚本中,就像文档推荐的那样。这种方法极大地改善了脚本的安全状态,因为只有使用提升权限执行所需的部分才能实现(又称"最低权限" - 基础 安全原则)。

我还没有详细阅读该文档,但我怀疑它还提到限制脚本的sudo部分的写权限以及它可能从中读取的任何文件或资源。