You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

oscap-ssh --local-files选项报错:无此文件或目录问题求助

OpenSCAP远程扫描自定义脚本文件找不到问题排查

问题描述

使用OpenSCAP Script Engine编写自定义脚本,通过oscap-ssh远程扫描主机时,已通过--local-files选项成功将bash脚本目录上传至远程临时工作目录,但主脚本调用子脚本时提示“无此文件或目录”。

环境信息

  • OpenSCAP版本:oscap 1.3.6
  • 操作系统:Rocky Linux 8.6
  • 执行命令:
oscap-ssh <user>@<ip> 22 xccdf eval --profile <profile> --report report.html --local-files </path/to/directory/> <my_script>.xml

报错内容

  1. 脚本执行错误:

错误:执行探针时出错:脚本 '/tmp/oscapXXXX/check_script.sh' 返回非零退出码 127
标准错误输出:/bin/bash: /tmp/oscapXXXX/check_script.sh: 无此文件或目录

  1. XCCDF评估失败:

错误:XCCDF结果:'check-script'规则的评估失败
错误:评估脚本探针时出错

解决方案

  • 修正脚本路径引用
    远程临时目录路径为动态生成(格式为/tmp/oscapXXXX),主脚本不要写死本地路径,改用相对路径调用同目录脚本,比如./check_script.sh;或者使用OpenSCAP提供的环境变量$OVAL_TMP_DIR定位临时文件,写法为$OVAL_TMP_DIR/check_script.sh。

  • 确保脚本具备执行权限
    在本地给所有脚本添加执行权限:

    chmod +x /path/to/directory/*.sh
    

    保证oscap-ssh上传时保留权限,避免远程执行因权限不足报错。

  • 验证--local-files参数有效性
    确认--local-files后跟随的是目录绝对路径,且目录包含所有依赖脚本。若仅需上传单个文件,可直接指定文件路径,避免目录结构导致文件遗漏。

  • 手动验证远程临时目录
    报错后立即登录远程主机,查看/tmp/oscapXXXX目录下的文件是否存在、路径是否匹配,确认文件是否完整上传。

内容的提问来源于stack exchange,提问作者gonzalofdv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:42:13