一,作用
rpm -Va: 校驗所有的RPM軟體包,通常用來檢查系統檔案是否被植入後門或rootkit
二,例子
# -V: 校驗軟體包,此校驗功能可以用來確認檔案是否被修改或覆蓋
# -a: RPM 校驗系統中所有已安裝的軟體包
[root@blog ~]# rpm -Va > rpmva.txt
返回結果:
[root@blog ~]# more rpmva.txt
....L.... c /etc/pam.d/fingerprint-auth
....L.... c /etc/pam.d/password-auth
....L.... c /etc/pam.d/postlogin
....L.... c /etc/pam.d/smartcard-auth
....L.... c /etc/pam.d/system-auth
.M....... g /var/log/dmesg
.M....... g /var/log/dmesg.old
.......T. c /etc/selinux/targeted/contexts/customizable_types
S.5....T. c /etc/sysconfig/authconfig
.M....... g /etc/pki/ca-trust/extracted/java/cacerts
.M....... g /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
.M....... g /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
.M....... g /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
.M....... g /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
.M....... g /boot/initramfs-3.10.0-957.el7.x86_64.img
結果說明:
S 表示檔案長度發生了變化
M 表示檔案的訪問許可權或檔案型別發生了變化
5 表示MD5校驗和發生了變化
D 表示裝置節點的屬性發生了變化
L 表示檔案的符號連結發生了變化
U 表示檔案/子目錄/ 裝置節點的owner 發生了變化
G 表示檔案/子目錄/ 裝置節點的group 發生了變化
T 表示檔案最後一次的修改時間是發生了變化
型別說明:
c:配置檔案(config file)
d:普通文件(documentation)
g:“鬼”檔案(ghostfile),很少見,就是該檔案不應該被這個RPM包包含(說明這個rpm包出現了異常)。
l:授權檔案(license file)
r:描述檔案(read me)
三,其他用法:
1, 校驗指定的包:
[root@blog ~]# rpm -V rkhunter
.M....... g /var/lib/rkhunter/db/backdoorports.dat
.M....... g /var/lib/rkhunter/db/mirrors.dat
.M....... g /var/lib/rkhunter/db/programs_bad.dat
2, 校驗包含指定檔案的軟體包是否被修改
# -f: 選項 -f
或者 --file
校驗含有指定檔案的軟體包。
如果使用者僅知道某個檔案,但忘了它所在的軟體包,又想校驗這個包時,可用此選項
[root@blog ~]# rpm -Vf /var/lib/rkhunter/db/mirrors.dat
.M....... g /var/lib/rkhunter/db/backdoorports.dat
.M....... g /var/lib/rkhunter/db/mirrors.dat
.M....... g /var/lib/rkhunter/db/programs_bad.dat