Linux

我可以確定 Linux 審計記錄欄位的名稱是唯一的嗎?

  • August 1, 2016

我正在從 Linux 審計格式創建一個解析器/轉換器。在我研究格式、查看範例和閱讀文件時,我偶然發現了一個問題。


我可以確定單個記錄中的欄位名稱是唯一的嗎?

例如,這樣的記錄是否合法/出現在現實世界的實現中:

type=TYPE msg=audit(1.002:3): msg="the first msg field" msg="the second msg field"

第二個相關問題是我是否可以pid在一個事件中只有一個?例如,此事件是否合法/是否出現在現實世界的實現中:

type=TYPE1 msg=audit(1.002:3): pid=0 msg="texthere"
type=TYPE2 msg=audit(1.002:3): pid=0 msg="differenttexthere"

根據 Steve Grubb 在官方郵件列表上的回复(連結到電子郵件):

史蒂夫的回答:

> > 記錄中是否可能存在重複欄位? > > >

有時。當它發生時,我試圖解決這些問題。問題是不是每個人都通過這個郵件列表執行他們的審計程式碼,以便我們可以檢查它以查看它的格式是否正確。我計劃做的是編寫一個審計事件驗證套件,檢查事件是否格式正確,以及預期的事件是否在它們應該被寫入的時間以及它們被假定的順序被寫入。清理這些事件在我的 TODO 列表中很重要。

> > 類似的東西(顯然沒有多大意義): > > > > > type=CWD msg=audit(1464013682.961:409): cwd="/root” cwd=“/usr” > > > >

這樣的事情不會發生,它更有可能圍繞 uid 和 uid。原因是核心會自動添加一些東西,因為它是一個值得信賴的資訊來源。使用者空間可以寫入相互矛盾的資訊。例如,如果守護程序代表使用者工作,但尚未為使用者設置其 auid,那麼您可能會看到這一點。

tl;博士

這是可能的,但不常見且不鼓勵。

引用自:https://unix.stackexchange.com/questions/293809