1

我正在尝试通过子进程 python 模块从 cronjob 运行 nessus 扫描。,但从 cronjob 它给出了一个错误。但是从 bash 执行脚本时没有给出任何错误?

cronjob 代码

01 11 * * * /root/nessusscan.py

脚本中的子进程调用是

subprocess.call(['nessus','-q','-x','-T','nessus','127.0.0.1','1241','user','password','ip.txt','res'])

从 bash 它工作正常,但从 cronjob 我在邮件中收到以下错误

Traceback (most recent call last):
  File "/root/nessusscan.py", line 9, in <module>
    subprocess.call(['nessus','-q','-x','-T','nessus','127.0.0.1','1241','user','password','ip.txt','res'])
  File "/usr/lib/python2.7/subprocess.py", line 493, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 13] Permission denied
4

1 回答 1

0

感谢每个人,我正在为其他将访问此线程的人回答我自己的问题。这样他们也可以摆脱这个错误。在我的情况下,通过给出 nessus 的路径解决了错误,即"/opt/nessus/bin/nessus"

替换nessus"/opt/nessus/bin/nessus"

cronjob 无法获取 nessus 命令的路径。它现在正在工作。

于 2013-06-11T16:31:35.370 回答