Verifikation af installerede programmer

En avanceret form for query er rpm's verify funktion. Den bruges til at kontrollere, om oplysningerne i databasen stemmer overens med de filer, der faktisk ligger på systemet.

Kontrollen er ret detaljeret. I første omgang kontrolleres det selvfølgelig, at de filer der er med i pakken også findes på systemet. Men derudover kontrolleres en række oplysninger om hver enkelt fil, hvilket gør dette særdeles anvendeligt til at kontrollere om der har været ubudne gæster inde og pille i systemet.

For hver enkelt fil der er installeret, gemmer rpm-databasen følgende oplysninger:

rpm --verify bruges til at checke, om disse oplysninger i databasen stemmer overens med de filer, der faktisk ligger på hard disken. Ligesom med --query kan man bruge --verify på enkelte pakker (ved at angive pakkernes navne), eller på alle installerede pakker (ved at bruge -a option).

Et eksempel - check om PPP dæmon pakken ppp er i orden:

osiris:~ $ rpm --verify ppp
..5..... c /etc/ppp/chap-secrets
S.5....T c /etc/ppp/options
S.5....T c /etc/ppp/pap-secrets
osiris:~ $
Her er der tre filer, som er blevet ændret siden pakken blev installeret. Den første kolonne fortæller, hvilke af rpm-kontrollerne der er fejlet - det er her MD5-checksummen 5, størrelsen af filen S og tids-stemplet T. De øvrige kontroller er OK, hvilket er vist med et punktum.

Næste kolonne indeholder et 'c' for alle tre filer, og det gør at jeg kan være mere rolig - det betyder nemlig, at de tre ændrede filer er konfigurations-filer. Og så er det jo i orden, at man laver om i dem.

Her er en oversigt over, hvordan fejl af de forskellige kontroller bliver flaget::

Det skal dog tilføjes, at jeg har oplevet at rpm hævder at MD5-checksummen er forkert, selv om jeg lige har installeret pakken. Så tag det check med et gran salt.


Henrik Størner <storner@image.dk>