我试图在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命令"一部分。
答案 0 :(得分:1)
我 高度 建议将sudo
部分放入单独的脚本中,就像文档推荐的那样。这种方法极大地改善了脚本的安全状态,因为只有使用提升权限执行所需的部分才能实现(又称"最低权限" - 基础 安全原则)。
我还没有详细阅读该文档,但我怀疑它还提到限制脚本的sudo
部分的写权限以及它可能从中读取的任何文件或资源。