Solaris

solaris:驗證對所有二進製文件的訪問是否與關聯的包一致

  • January 24, 2015

我需要驗證對 solaris 10 機器上所有(!)二進製文件的訪問(模式、所有者)是否與它們來自的包一致。我可以做類似的事情

/usr/bin/find / -type f -perm -u+x,g+x,o+x -exec ls -l {} \; > /tmp/binaries.txt

然後遍歷列表並檢查

pkgchk -l –p /path/to/binary

該文件是合規的。當然,這可以編寫腳本,但這仍然需要相當長的時間。我想知道是否有工具或其他東西可以讓我反過來:對於每個安裝的包,檢查它的內容是否在磁碟上,就像最初在包中定義的一樣(模式和所有權)。

是的,並且該實用程序也是pkgchk,如果您不使用該-p選項將其限制為某些路徑名,而是指定要檢查的軟體包名稱集,或者讓它預設檢查機器上安裝的所有軟體包。從手冊頁:

上面定義的第一個概要用於列出或檢查目前安裝在系統上或指定 pkgmap 中的對象的內容和/或屬性。軟體包名稱可能會列在命令行上,或者預設情況下會檢查機器的全部內容。

因此,處理“對於安裝的每個包,檢查其內容是否在磁碟上,就像最初在包中定義的那樣(模式和所有權)”的語法只是:

pkgchk -a

-a告訴它只檢查模式和所有權,而不是內容。如果您將其刪除以檢查內容,那麼您需要添加-n不檢查預期會更改的可編輯文件的內容,例如配置文件。)

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