Ossec

如何讓 OSSEC manage_agents 讀取文件?

  • August 5, 2015

根據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 become manage_agents) 在這裡所做的那樣。

所以,如果你把一個文件放進去,/var/ossec/tmp/foo你需要manage_agents

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

tmp/foo也有效)。

引用自:https://serverfault.com/questions/692489