【发布时间】:2017-08-14 19:55:00
【问题描述】:
我试图在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 部分”放入单独的脚本中来执行“运行 sudo 命令”部分。
【问题讨论】:
-
sudo不会在不输入密码的情况下以 root 身份运行命令,除非您在/etc/sudoers中为此定义了一个规则,以便在没有密码的情况下以用户或 root 身份运行命令。你需要格外小心。
标签: python security subprocess sudo