【问题标题】:Script giving error of permission denied OSerror 13 from cronjob?来自cronjob的权限错误拒绝OSerror 13的脚本?
【发布时间】:2013-06-07 10:55:57
【问题描述】:

我用 Python 编写了一个脚本来自动扫描。我为此使用了 nessus 并在 python 中使用了 subprocess 模块。问题是它是从 cli bash 运行的,但是当我将该脚本通过 cron 作业启动时。它给出了以下错误

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

【问题讨论】:

  • 可能有助于发布您用于创建 cronjob 的命令
  • @bwbrowning 发布命令请查看
  • 如果脚本真的只是一个单一的subprocess.call(...),为什么不放弃整个python 层并让你的cron 工作调用nessus -q -x .... 本身呢?
  • @twalberg 实际上我正在按日期保存文件名。所以python在做什么。但是你给了一个好主意......

标签: python python-2.7 cron subprocess


【解决方案1】:

该错误表示该程序被子进程找到但运行“nessusscan.py”的用户没有运行它的权限。

检查 nessus 文件的所有权及其权限。

【讨论】:

    猜你喜欢
    • 2014-07-15
    • 2015-09-14
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 2018-07-19
    • 2017-04-04
    • 2013-01-25
    • 2013-12-14
    相关资源
    最近更新 更多