目錄
1、RPM包的校驗
(1)RPM包校驗基本命令
[root@localhost ~]# rpm -Va
選項:
-Va校驗本機已經安裝的所有軟體包(一般不用,需要驗證哪個包就單獨驗證。)
[root@localhost ~]# rpm -V 已安裝的包名
選項:
-V校驗指定RPM包中的檔案(verify),常用。
[root@localhost ~]# rpm -Vf 系統檔名(通過rpm包安裝出來的,自己建立的不行。)
選項:
-Vf校驗某個系統檔案是否被修改
(2)校驗某個系統檔案是否被修改舉例
# 校驗httpd軟體包,可以看到如果新安裝的軟體,沒有動過任何檔案,驗證是沒有任何結果的。
[root@localhost ~]# rpm -V httpd
# 修改一下httpd配置檔案,加一個空行。
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
# 再次驗證
[root@localhost ~]# rpm -V httpd
S.5....T. c /etc/httpd/conf/httpd.conf
驗證內容 檔案類 型檔名
# 上邊提示的資訊是 /etc/httpd/conf/httpd.conf檔案和剛裝完的狀態不同。
# 哪裡不同,在`S.5....T.`提示了。
提示:
- 最前面共有8個資訊內容,是表示驗證內容的。
- 檔名前面的c是表示這是個配置檔案(
configuration
)。- 最後是檔名。
(3)驗證內容中8個資訊的具體內容
S
:檔案大小是否改變。M
:檔案的型別或檔案的許可權(rwx)是否被改變。5
:檔案MD5校驗和是否改變(可以看成檔案內容是否改變)。D
:裝置的主從程式碼是否改變。L
:檔案路徑是否改變。U
:檔案的屬主(所有者)是否改變。G
:檔案的屬組是否改變。T
:檔案的修改時間是否改變。
注意:
問什麼驗證了檔案大小是否改變,還需要驗證檔案的內容是否改變?
也有可能沒有新增或者刪除檔案的內容,只有修改了一個字母或者文字,原始檔大小沒有改變,但是檔案的內容已經改變了。
(4)檔案型別有哪些
c
:配置檔案(config file
)。d
:普通文件(documentation
)。g
:“鬼”檔案(ghostfile
),很少見,就是該檔案不應該被這個RPM包包含(說明這個RPM包出現了異常)。l
:授權檔案(license file
)。r
:描述檔案(readme
)。
2、RPM包的證書
(1)數字證書
上面的校驗方法只能對已經安裝的RPM包中的檔案進行校驗,但是如果RPM包本身就被動過手腳,那麼校驗就不能解決問題了,我們就必須使用數字證書驗證了。
(2)數字證書有以下特點
- 首先必須找到原廠提供的公鑰檔案,然後進行安裝。
這個公鑰檔案在光碟和系統中都能找到。 - 再安裝RPM包時,會去提取RPM包中的證書資訊,然後和本機安裝的原廠證書進行驗證。
- 如果驗證通過,則允許安裝;如果驗證不通過,則不允許安裝並警告。
(3)數字證書位置
其實在CentOS6.8
的第一張光碟中就有,當然它預設也會放在系統中。
- 數字證書在光碟中的位置
[root@localhost ~ ] # ll /mnt/cdrom/RPM-GPG-KEY-Cent0S-6 -r--r--r--2 root root 17067月204:21/mnt/cdrom/RPM-GPG-KEY-CentOS-6
- 系統中的數字證書位置
[root@localhost ~ ] #ll /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 -rw-r--r-.1 root root 17066月2617:29/etc/pki/rpm-gpg/RPM-GPG-KEY-Cent0S-6
(4)數字證書匯入
[root@localhost ~ ] # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
選項:
--import:匯入數字證書
我們如何查詢系統中安裝好的數字證書呢?
命令如下:
[root@localhost ~ ] # rpm -qa | grep gpg-pubkey
gpg-pubkey-c105b9de-4e0fd3a3