目錄
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