我已经从Python编写了一个脚本来自动扫描。我为此使用了nessus,并在python中使用了子进程模块。问题是这是从cli bash运行的,但是当我将该脚本通过cron job启动时。它给出以下错误
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
脚本是
subprocess.call(['nessus','-q','-x','-T','nessus','127.0.0.1','1241','user','password','ip.txt','res'])
cron作业命令
16 14 * * * cd /root/nessus; ./nessusscan.py
错误意味着该程序是由子进程找到的,但运行“ nessusscan.py”的用户没有运行该程序的权限。
检查nessus文件的所有权和对其的权限。