运行 python 脚本的一部分作为 sudo
run part of python script as sudo
我正在尝试 运行 在 sudo
模式下只 task.py
我的脚本的一部分。理想情况下,我会 运行 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
特权的命令,但我不想将 "sudo parts" 放入单独的脚本中来执行 "running sudo commands" 部分.
我会 高度 建议将 sudo
部分放入单独的脚本中,就像文档中推荐的那样。这种方法极大地改善了脚本的安全状况,因为只有以提升的权限执行所需的部分才会这样做(又名 "least privilege"--a fundamental 安全原则).
我没有详细阅读该文档,但我怀疑它也提到限制对脚本的 sudo
部分以及它可能读取的任何文件或资源的写入权限。
我正在尝试 运行 在 sudo
模式下只 task.py
我的脚本的一部分。理想情况下,我会 运行 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
特权的命令,但我不想将 "sudo parts" 放入单独的脚本中来执行 "running sudo commands" 部分.
我会 高度 建议将 sudo
部分放入单独的脚本中,就像文档中推荐的那样。这种方法极大地改善了脚本的安全状况,因为只有以提升的权限执行所需的部分才会这样做(又名 "least privilege"--a fundamental 安全原则).
我没有详细阅读该文档,但我怀疑它也提到限制对脚本的 sudo
部分以及它可能读取的任何文件或资源的写入权限。