来自cronjob的python脚本出现错误,但不是来自bash。?
我正在尝试通过子进程python模块从cronjob运行nessus扫描,但从cronjob来看,它给出了一个错误。但在从bash执行脚本时没有给出任何错误 cronjob代码来自cronjob的python脚本出现错误,但不是来自bash。?,python,python-2.7,python-3.x,subprocess,Python,Python 2.7,Python 3.x,Subprocess,我正在尝试通过子进程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来看,它工作得
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
回溯(最近一次呼叫最后一次):
文件“/root/nessuscan.py”,第9行,在
子进程调用(['nessus'、'-q'、'-x'、'-T'、'nessus'、'127.0.0.1'、'1241'、'user'、'password'、'ip.txt'、'res']))
文件“/usr/lib/python2.7/subprocess.py”,第493行,在调用中
返回Popen(*popenargs,**kwargs)。等待()
文件“/usr/lib/python2.7/subprocess.py”,第679行,在__
错误读取,错误写入)
文件“/usr/lib/python2.7/subprocess.py”,第1249行,在执行子进程中
引发子对象异常
OSError:[Errno 13]权限被拒绝
Thnx致evry one我为其他将访问此帖子的人回答我自己的问题。这样他们也可以摆脱这个错误。在我的例子中,通过给出nessus的路径解决了这个错误,路径是“/opt/nessus/bin/nessus”
将nessus
替换为“/opt/nessus/bin/nessus”
cronjob无法获取nessus命令的路径。它现在正在工作。可能cron作业正在以其他用户身份运行?请参阅以获取一些想法。@Bo102010实际上没有。。。它正在以root身份运行。。。。我是说我是从root用户登录的。。。。