首页 > 解决方案 > 如何以 root 身份在 python 脚本中运行命令?

问题描述

我有一个 python 脚本来进行 TCP 扫描。我正在使用 python3_nmap 库,所以命令如下:

import nmap3
nmap.nmap_syn_scan(self.ip ,"-p 443 -v -T4")

每次我需要输入密码时,如何将代码更改为不要求我输入密码?

标签: python-3.xcommand-linetcpnmap

解决方案


你需要一些自动化。Pexpect是一个不错的选择。您必须以适当的权限运行您的 python 脚本。可以像这样自动授予执行权限:

import pexpect
child = pexpect.spawn('sudo python <path_to_your_python_script>')  # make sure about environment
child.expect('password')  # wait to read password string in terminal
child.sendline('<your_password_here>')  # enter user password

推荐阅读