Ossec
如何讓 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
)並且不要使用完整路徑。例子
/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 內部的路徑,因為 ossec 會自己處理 chroot,就像
addagent.c
(which becomemanage_agents
) 在這裡所做的那樣。所以,如果你把一個文件放進去,
/var/ossec/tmp/foo
你需要manage_agents
像
/var/ossec/bin/manage_agents -f /tmp/foo
(
tmp/foo
也有效)。