如何让 OSSEC manage_agents 读取文件?

如何让 OSSEC manage_agents 读取文件?

根据manage_clients的帮助文档:

-f 从文件批量生成客户端密钥。(仅限管理器)。包含 IP、NAME 格式的行。

所以我尝试了这个:

root@ossec-server:/var/ossec/etc# /var/ossec/bin/manage_agents -f /tmp/agent
Bulk load file: /tmp/agent
Opening: [/tmp/agent]
Failed.: No such file or directory
2015/05/16 15:07:34 manage_agents(1103): ERROR: Unable to open file '/tmp/agent'.

即使拥有完全访问权限:

root@ossec-server:/var/ossec/etc# ls -l /tmp/agent 
-rw-r--r-- 1 777 root 16 May 16 14:57 /tmp/agent

内容看起来不错:

root@ossec-server:/var/ossec/etc# cat /tmp/agent 
127.0.0.1,agent

答案1

我刚刚克服了这个障碍,也许我可以帮上忙。你需要将文件放入目录中/var/ossec(我的目录所有者/组为ossec),然后不要使用完整路径。

例子

/var/ossec/bin/manage_agents -f /var/ossec/list_to_add.lst

不会起作用(我不知道为什么,但它从来没有起作用)。然而,

/var/ossec/bin/manage_agents -f list_to_add.lst

将工作。

答案2

我目前无法发表评论,所以这必须是一个答案。马特是对的。

我不知道为什么,但它从来没有起作用

您必须使用路径在 chroot 内部因为 ossec 进程chroot 自己,正如addagent.c(变成manage_agents)那样这里

因此,如果你放入一个文件,/var/ossec/tmp/foo你需要manage_agents调用

/var/ossec/bin/manage_agents -f /tmp/foo

tmp/foo也有效)。

相关内容