根据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
)并且不要使用完整路径。例子
将不起作用(IDK 为什么,但它从未起作用)。然而,
将工作。
我还不能发表评论,所以这必须是一个答案。马特是正确的。
您必须使用chroot 内部的路径,因为 ossec 会自己处理 chroot,就像
addagent.c
(which becomemanage_agents
) 在这里所做的那样。所以,如果你把一个文件放进去,
/var/ossec/tmp/foo
你需要manage_agents
像/var/ossec/bin/manage_agents -f /tmp/foo
(
tmp/foo
也有效)。