Solaris
solaris:驗證對所有二進製文件的訪問是否與關聯的包一致
我需要驗證對 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
不檢查預期會更改的可編輯文件的內容,例如配置文件。)