如何让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 

刚刚清除这个障碍,也许我可以帮助。 你需要把文件放在/var/ossec目录(我的拥有者/组是ossec ), 不要使用完整的path。

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

将不会工作(IDK为什么但从来没有工作)。 然而,

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

将工作。

我还不能评论,所以这是一个答案。 马特是正确的。

IDK为什么但从来没有工作

你必须使用chroot里面的path因为ossec 自己处理chroot ,因为addagent.c (成为manage_agents )在这里执行 。

所以,如果你把文件放在/var/ossec/tmp/foo你需要调用manage_agents

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

tmp/foo也可以)。