centos 未找到文件错误:[Errno2]:没有这样的文件或目录:

ppcbkaq5  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(235)

我正在尝试为我的工作做一个服务器加固脚本,其中一部分是在将连接到SIEM管理器的服务器上安装wazuh代理。
该脚本有两个部分,其中一个部分添加了repo条目--工作正常。
第二部分安装wazuh代理(代码如下)。当我在shell上运行命令时,它们工作正常,但使用脚本时,它给我以下错误。

import os 
import subprocess

wazuhrepofile = "/etc/yum.repos.d/wazuh.repo"
wazuh = "wazuh-agent"
wazuhmanager = 'WAZUHMANAGER="10.0.0.2"'

def install_wazuh(wazuh, wazuhmanager, wazuhrepofile):
    subprocess.run([wazuhmgr ,'yum', 'install', '-y', wazuh], check=True)
    print("Wazuh Agent Installed")
    subprocess.run(['systemctl', 'daemon-reload'], check=True)
    print("Daemon Reloaded")
    subprocess.run(['systemctl', 'enable', wazuh])
    print("Wazuh Agent Enabled")
    subprocess.run(['systemctl', 'start', wazuh], check=True)
    print("Wazuh-Agent Service Started!")
    subprocess.run(['sed', '-i', '"s/^enabled=1/enabled=0/"', wazuhrepofile])

install_wazuh(wazuh, wazuhmgr, wazuhrepofile)

下面是错误[run error]

ia2d9nvy

ia2d9nvy1#

hj.谢谢你选择瓦祖。
如前所述,subprocess.run接受一系列参数,但似乎第一个参数需要是一个实际的命令,而不是变量赋值。
您正在执行的操作是传递管理器IP以使代理自动注册到管理器。另一种可能的方法是安装代理,然后使用/var/ossec/bin/文件夹中的agent-auth。此命令还允许代理将代理名称传递到管理器,以便在警报和UI上显示,从而更易于识别。
命令为:*/var/ossec/bin/代理身份验证管理器IP A代理名称 *
有关代理注册的详细信息,请访问此处;有关代理身份验证工具的信息,请访问此处
如果您有任何其他问题,请不要犹豫,随时提出。干杯

相关问题