내 시스템에 설치된 모든 rpm 패키지의 무결성을 확인하고 싶습니다.
rpm 파일 자체가 있으면 실행하겠지만 rpm -Kv PACKAGE.rpm
, 원래 rpm이 없으면 어떻게 동일한 목표를 달성할 수 있습니까?
서명 및 다이제스트 데이터가 rpm 데이터베이스에 저장되어 있습니까?
rpm 내부에서 파일을 확인할 수 있다는 것을 알고 있지만 rpm -Va PACKAGE_NAME
서명은 확인하지 않고 파일 다이제스트만 확인합니다.
답변1
패키지가 이미 설치되어 있으면 너무 늦습니다. 패키지가 아직 /var/cache/{dnf,yum}/에 있을 가능성이 적습니다.
서명을 확인하는 가장 좋은 방법은 저장소 파일을 생성하고(baseurl이 파일 위치를 가리키는 경우에도) gpgcheck 1
해당 저장소 파일에 설정하는 것입니다.
다음과 같은 명령을 실행하는 경우 기본값은 False이므로 변수를 True로 설정 dnf install foo.rpm
해야 합니다 .dnf.conf
localpkg_gpgcheck
또한 rpm -qi bash
다음을 실행하면 서명에 대한 정보가 있습니다.
Signature : RSA/SHA256, Fri Dec 6 13:24:09 2019, Key ID 50cb390b3c3359c4
모든 gpg 키는 rpmdb로 가져오며 그곳의 다른 패키지처럼 보입니다. 그래서 당신은 이것을 할 수 있습니다 :
$ # suffix of the gpg key from the command above
$ rpm -qa |grep 9c4
gpg-pubkey-3c3359c4-5c6ae44d
$ rpm -qi gpg-pubkey-3c3359c4-5c6ae44d
Name : gpg-pubkey
Version : 3c3359c4
Release : 5c6ae44d
Architecture: (none)
Install Date: Ne 18. srpna 2019, 15:49:39 CEST
Group : Public Keys
Size : 0
License : pubkey
Signature : (none)
Source RPM : (none)
Build Date : Po 18. února 2019, 17:58:53 CET
Build Host : localhost
Packager : Fedora (31) <[email protected]>
Summary : gpg(Fedora (31) <[email protected]>)
Description :
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: rpm-4.14.2.1 (NSS-3)
mQINBFxq3QMBEADUhGfCfP1ijiggBuVbR/pBDSWMC3TWbfC8pt7fhZkYrilzfWUM
fTsikPymSriScONXP6DNyZ5r7tgrIVdVrJvRIqIFRO0mufp9HyfWKDO//Ctyp7OQ
zYw6NVthO/aWpyFfJpj6s4iZsYGqf9gByV8brBB8v8jEsCtVOj1BU3bMbLkMsRI9
+WiLjDYyvopqNBQuIe8ogxSxpYdbUz6+jxzfvhRoBzWdjITd//Gjd90kkrBOMWkO
LTqO133OD1WMT08G5NuQ4KhjYsVvSbBpfdkTcNuP8gBP9LxCQDc+e1eAhZ95g3qk
XLeKEK9j+F+wuG/OrEAxBsscCxXRUB38QH6CFe3UxGoSMnBi+jEhicudo+ItpFOy
7rPaYyRh4Pmu4QHcC83bNjp8NI6zTHrBmVuPqkxMn07GMAQav9ezBXj6umqTX4cU
dsJUavJrJ3u7rT0lhBdiGrQ9zPbL07u2Kn+OXPAC3dKSf7G8TvwNAdry9esGSpi3
8aa1myQYVZvAlsIBkbN3fb1wvDJE5czVhzwQ77V2t66jxeg0o9/2OZVH3CozD2Zj
v28LHuW/jnQHtsQ0fUyQYRmHxNEVkW10GGM7fQwxzpxFFS1O/2XEnfMu7yBHZsgL
SojfUct0FhLhEN/g/IINX9ZCVrzK5/De27CNjYE1cgYD/lTmQ0SyjfKVwwARAQAB
tDFGZWRvcmEgKDMxKSA8ZmVkb3JhLTMxLXByaW1hcnlAZmVkb3JhcHJvamVjdC5v
cmc+iQI+BBMBAgAoAhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCXGrkTQUJ
Es8P/QAKCRBQyzkLPDNZxBmDD/90IFwAfFcQq5ENl7/o2CYQ9k2adTHbV5RoIOWC
/o9I5/btn1y8WDhPOUNmsgbUqRqz6srlVplg+LkpIj67PVLDBwpVbCJC8o1fztd2
MryVqdvu562WVhUorII+iW7nfqD0yv55nH9b/JR1qloUa8LpeKw84JgvxF5wVfyR
id1WjI0DBk2taFR4xCfU5Tb262fbdFj5iB9xskP7oNeS29+SfDjlnybtlFoqr9UA
nY1uvhBPkGmj45SJkpfP+L+kGYXVaUd29M/q/Pt46X1KDvr6Z0l8bSUEk3zfcNdj
uEhtHBqSy1UPPAikGX1Q5wGdu7R7+mv/ARqfI6OC44ipoOMNK1Aiu6+slbPYphwX
ighSz9yYuG0EdWt7akfKR0R04Kuej4LXLWcxTR4l8XDzThYgPP0g+z0XQJrAkVhi
SrzICeC3K1GPSiUtNAxSTL+qWWgwvQyAPNoPV/OYmY+wUxUnKCZpEWPkL79lh6CM
bJx/zlrOMzRumSzaOnKW9AOliviH4Rj89OmDifBEsQ0CewdHN9ly6g4ZFJJGYXJ5
HTb5jdButTC3tDfvH8Z7dtXKdC4iqJCIxj698Xn8UjVefZQ2nbv5eXcZLfHtvbNB
TTv1vvBV4G7aiHKYRSj7HmxhLBZC8Y/nmFAemOoOYDpR5eUmPmSbFayoLfRsFXmC
HLs7cw==
=6hRW
-----END PGP PUBLIC KEY BLOCK-----
이것이 좋은 열쇠인지 결정하는 것은 당신에게 달려 있습니다.
하지만 유감스럽게도 rpm 페이로드 서명이 실제로 서명된 서명과 일치하는지 여부는 아직 알 수 없습니다. :(