Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TOOL] - Md5Check - Controlliamo i pacchetti
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Mon Nov 22, 2004 10:53 am    Post subject: [TOOL] - Md5Check - Controlliamo i pacchetti Reply with quote

Md5Check ver 0.1_pre1

Code:

wget http://www.xchris.net/download.php?file=files/md5check.tar.gz -O md5check.tar.gz



http://www.xchris.net/download.php?file=files/md5check.tar.gz

------------------

Cosa fa Md5Check?

Specificato un pacchetto (in realta' un pattern che matchera' alla meglio) riporta quali file sono cambiati e quali no ed eventualemte riporta l'md5 per ogni file.

OK..A cosa serve?

Penso che qualche esempio sia meglio:

-Quali file STANDARD ho cambiato nel mio firweall shorewall?
Code:

root@lyra md5check # ./md5check shorewall

* net-firewall/shorewall-2.0.4

  -Changed-     /etc/shorewall/masq
--NOT FOUND      /usr/share/doc/shorewall-2.0.4/releasenotes.txt.gz
  -Changed-     /etc/shorewall/zones
  -Changed-     /etc/shorewall/shorewall.conf
  -Changed-     /etc/shorewall/policy
  -Changed-     /etc/shorewall/interfaces
  -Changed-     /etc/shorewall/rules



ok! Quindi sappiamo quali file sono cambiati...e notiamo pure che ci manca un file (cancellato per l'occasione)

supponiamo ora che vogliamo restringere il controllo su /etc

Code:

root@lyra md5check # ./md5check shorewall /etc

* net-firewall/shorewall-2.0.4

  -Changed-     /etc/shorewall/masq
  -Changed-     /etc/shorewall/zones
  -Changed-     /etc/shorewall/shorewall.conf
  -Changed-     /etc/shorewall/policy
  -Changed-     /etc/shorewall/interfaces
  -Changed-     /etc/shorewall/rules


Possiamo anche utilizzarlo al posto di etcat -f dspam! (elecare tutti i file)
Avremo pero' + dettagli!

Code:
* mail-filter/dspam-3.2.2

--NOT FOUND      /usr/share/doc/dspam-3.2.2/README.qmail.gz
--NOT FOUND      /usr/share/doc/dspam-3.2.2/CHANGELOG.gz
  Unchanged     /usr/bin/dspam_admin
  Unchanged     /usr/include/dspam/libdspam.h
  Unchanged     /usr/share/man/man1/dspam_merge.1.gz
  Unchanged     /usr/include/dspam/storage_driver.h
  Unchanged     /var/log/dspam/.keep
  Unchanged     /usr/share/man/man1/dspam_dump.1.gz
  Unchanged     /usr/share/man/man1/dspam_corpus.1.gz
  Unchanged     /usr/bin/dspam_corpus
  Unchanged     /usr/share/man/man1/dspam.1.gz
  Unchanged     /usr/share/man/man3/libdspam.3.gz
  Unchanged     /etc/logrotate.d/dspam
  Unchanged     /usr/bin/dspam_genaliases
  Unchanged     /usr/bin/dspam_merge
  Unchanged     /usr/include/dspam/libdspam_objects.h
  Unchanged     /usr/lib/libdspam.a
  Unchanged     /etc/mail/dspam/.keep
  Unchanged     /usr/lib/libdspam.so.6.0.0
  Unchanged     /usr/include/dspam/buffer.h
  Unchanged     /usr/include/dspam/decode.h
  Unchanged     /usr/lib/pkgconfig/dspam.pc
  Unchanged     /usr/include/dspam/config.h
--NOT FOUND      /usr/share/doc/dspam-3.2.2/RELEASE.NOTES.gz
  Unchanged     /etc/env.d/40dspam
  Unchanged     /usr/bin/dspam_crc
  Unchanged     /usr/include/dspam/nodetree.h
--NOT FOUND      /usr/share/doc/dspam-3.2.2/README.postfix.gz
  Unchanged     /etc/cron.daily/.keep
  -Changed-     /etc/mail/dspam/dspam.conf
  Unchanged     /var/spool/dspam/.keep
  Unchanged     /usr/share/man/man1/dspam_clean.1.gz
  Unchanged     /usr/include/dspam/lht.h
  Unchanged     /etc/logrotate.d/.keep
  Unchanged     /etc/cron.daily/dspam.cron
  Unchanged     /usr/include/dspam/tbt.h
  Unchanged     /usr/lib/libdspam.la
  Unchanged     /usr/bin/dspam_2sql
--NOT FOUND      /usr/share/doc/dspam-3.2.2/LICENSE.gz
  Unchanged     /usr/bin/dspam
  Unchanged     /usr/include/dspam/error.h
  Unchanged     /usr/bin/dspam_clean
--NOT FOUND      /usr/share/doc/dspam-3.2.2/README.gz
  Unchanged     /usr/bin/dspam_stats
  Unchanged     /usr/share/man/man1/dspam_stats.1.gz
  Unchanged     /usr/bin/dspam_dump


in un colpo solo sappiamo:
quali file dovrebbe contenere il pacchetto,quali mancano,quali sono stati modificati.

-Potrebbe essere anche visto come un tripwire dei poveri :) (per vedere se qualcuno ha manomesso uno dei nostri pacchetti)
-Puo essere utilizzato per vedere se un crash di sistema ha provocato problemi su pkg vitali!! (magari su glibc)
-puo' essere utilizzato come un etc-purger PRIMA di rimuovere un pacchetto con delle semplici regexp (sapendo eventualemente quali file salvare..)
-costituisce un ottima base per un etc-update avanzato (che magari implementero' presto...perche' mi sono un po' rotto di quello attuale)


Conclusioni:
Usatelo come preferite :)
Allo stato dei fatti Overlappa un po' con checkintegrity...magari in futuro li posso fondere. (anche perche' usano routine simili)

Se qc ha voglia e tempo di provarlo,riporti le impressioni :) (e i bug)
Grazie :)
ciao
_________________
while True:Gentoo()


Last edited by xchris on Sat Feb 26, 2005 10:23 am; edited 2 times in total
Back to top
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Mon Nov 22, 2004 11:21 am    Post subject: Reply with quote

Premetto che è possibile che commetta qualche errore io nella sintassi (in tal caso mi punisco in anticipo).

Ho un problema con il tuo tool:

Code:
gutter@morpheus ~/tmp/md5check $ ./md5check x11-plugins/gaim-encryption

No file match your search options for: x11-plugins/gaim-encryption-2.32


EDIT:

Idem nel caso:

Code:
gutter@morpheus ~/tmp/md5check $ ./md5check gaim-encryption

No file match your search options for: x11-plugins/gaim-encryption-2.32

_________________
Registered as User #281564 and Machines #163761
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Mon Nov 22, 2004 11:25 am    Post subject: Reply with quote

non devi punirti...
di dafult cerca i file cambiati...

con -u mostra quelli non cambiati
con -a li mostra tutti

con -sm mostra anche md5

ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Mon Nov 22, 2004 11:29 am    Post subject: Reply with quote

xchris wrote:
non devi punirti...
di dafult cerca i file cambiati...

con -u mostra quelli non cambiati
con -a li mostra tutti

con -sm mostra anche md5

ciao


Ok tutto chiaro. Il messaggio comunque mi pare un poco criptico dal momento che mi sembrava non capisse quale pacchetto volessi indicare. Non pensi sia meglio scrivere qualcosa tipo:

Nessun file cambiato in questo pacchetto

ovviamente tradotto in inglese :wink:
_________________
Registered as User #281564 and Machines #163761
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30822
Location: here

PostPosted: Mon Nov 22, 2004 11:29 am    Post subject: Reply with quote

Aggiunto ai post utilissimi sezione tools
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Mon Nov 22, 2004 11:31 am    Post subject: Reply with quote

gutter wrote:
Il messaggio comunque mi pare un poco criptico


concordo :)

in realta' e' un messaggio comune per tutti i metodi di ricerca...
(la pigrizia... brutta bestia)
lo cambio alla prossima uscita :)
ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
DaVe&OpenMOsix
Apprentice
Apprentice


Joined: 30 Dec 2003
Posts: 213

PostPosted: Mon Nov 22, 2004 11:32 am    Post subject: Reply with quote

Bravo xchris!
la tua è un'ottima idea, credo che sia molto utile.
non ho ancora provato lo script, ma a priori ho un dubbio...
l'MD5 è un sistema di hashing che porta ad avere firme diverse per file diversi, e fin qui ci siamo.
se si tratta di controllare un file binario l'MD5 credo sia ottimo, perchè se cambia (per errore o per crash) anche un solo byte del file, probabilmente non funzionerà più.
ma nel caso di un file di testo, quale ad esempio un file di configurazione, cambiare un byte non sempre porta ad errore.
ad esempio se viene aggiunto uno spazio a fine file, l'MD5 è completamente diverso, e verrebeb segnalato come possibile errore un file che magari funziona lo stesso. chiaro che è cambiato, ma imho nel caso di file di configurazione il classico diff è meglio.
spero di essermi spiegato bene, e spero che il mio intervento sia d'aiuto nel proseguire il tuo ottimo lavoro!
ciao
DV
_________________
-- Siccome sono un informatico ho votato PCI convinto di aumentare gli slot di espansione della società --
-^v^v^v^v^v^v^v^v^v^-
DaVe the WaVe
http://dave.ccni.it
http://www.davethewave.it
-^v^v^v^v^v^v^v^v^v^-
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Mon Nov 22, 2004 11:43 am    Post subject: Reply with quote

si hai ragione.

parlando di solo /etc spesso capita che alcuni file non vengano proprio toccati e in questo modo vengono rilevati.
Avere un indicazione almeno se e' stato toccato o meno un file e' gia' qc cosa. (se poi contiene solo uno spazio in +....amen)

Se ti riferisci ad discorso di etc-update si potrebbero combinare i 2 metodi.Se md5 e' diverso passa al diff....

Grazie per l'osservazione ;)
ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
DaVe&OpenMOsix
Apprentice
Apprentice


Joined: 30 Dec 2003
Posts: 213

PostPosted: Mon Nov 22, 2004 11:56 am    Post subject: Reply with quote

Quote:
Avere un indicazione almeno se e' stato toccato o meno un file e' gia' qc cosa. (se poi contiene solo uno spazio in +....amen)

sì, è vero che sapere che è stato toccato è buono, ma se ha solo un carattere cambiato, voglio vedere che ansia viene a trovare cosa è successo... :lol:
è ottima l'idea dell'accoppiata MD5/diff, risolverebbe proprio! :wink:
bravo xchris!
DV
_________________
-- Siccome sono un informatico ho votato PCI convinto di aumentare gli slot di espansione della società --
-^v^v^v^v^v^v^v^v^v^-
DaVe the WaVe
http://dave.ccni.it
http://www.davethewave.it
-^v^v^v^v^v^v^v^v^v^-
Back to top
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Mon Nov 22, 2004 12:00 pm    Post subject: Reply with quote

Concordo con entrambi.

@xchris: potresti inserire un flag che se attivato mostri kle differenze non banali. Per differenze banali intendo: uno spazio righe vuote, ecc...

Potresti usare una tiga tipo:

Code:
Tivial Changes /etc/nome_file

_________________
Registered as User #281564 and Machines #163761
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Mon Nov 22, 2004 12:12 pm    Post subject: Reply with quote

si..
anche se etc-update-ng per lavorare sugli md5 dovrebbe fare:

- snapshot /etc md5 pre emerge
- emerge
- controllo

purtroppo servono questi passi altrimenti i vecchi md5 vanno persi...
ma a me tornerebbe comodissimo quando si tratta di fare l'upgrade di xorg!!!

ciauz

EDIT: dimenticavo :oops: @fedeliallalinea: grazie :)
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Mon Nov 22, 2004 12:37 pm    Post subject: Reply with quote

io uso samhain per il momento.. dove e' meglio di lui (apparte la categorizzazione dei pacchetti)?
_________________
Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica :)
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Mon Nov 22, 2004 12:44 pm    Post subject: Reply with quote

certo..
non si propone di rimpiazzare un app del genere.

Il punto e' che con portage Tutti hanno a disposizione da subito un controllo su md5 senza installare nulla.(spesso utenti non skilled sentono la necessita' di app del genere quando ormai e' troppo tardi... ma utilizzando l'md5 gia' qc indicazione la hai)

ciao ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
fabius
Guru
Guru


Joined: 29 Nov 2004
Posts: 525

PostPosted: Thu Jun 09, 2005 10:13 pm    Post subject: Reply with quote

Riesumo questo post per segnalare un possibile baco. Nel report ottengo
Code:
* app-text/sablotron-1.0

--NOT FOUND      /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Sablotron
--NOT FOUND      /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Debugging
--NOT FOUND      /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-DOM
--NOT FOUND      /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Known
--NOT FOUND      /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Errors logs.html
--NOT FOUND      /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Named

Il problema è dovuto al fatto che i file esistono ma contengono uno spazio. Da un estratto di /var/db/pkg/app-text/sablotron-1.0/CONTENTS
Code:

obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Sablotron DOM.html ab1ff23425590637e5c73f50ac26f52b 1115143220
obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Debugging XSLT.html dcc60280edbb463b7542871dc17d5130 1115143220
obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-DOM types.html 184e63e47a1d9e4c59871e11c7b1c694 1115143220
obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-DOM functions.html e04fd6e8622141683510680cdbd2eb71 1115143220
obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Known Issues.html 3d922b333be475c7353c97fbd603f12d 1115143220
obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Errors and logs.html 10ec3a15a622795977b4d65982a91e87 1115143220
obj /usr/share/doc/sablotron-1.0/html/sablot/apidocs/api-.Named buffers.html 046531928d32c252e87fc2cce6c24a8c 1115143220
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Fri Jun 10, 2005 8:18 am    Post subject: Reply with quote

uploadata nuova versione.
Vedi un po' se e' ok,
Grazie mille per la segnalazione!
ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Fri Jun 10, 2005 10:19 am    Post subject: Reply with quote

Bello! Bellissimo! :D Complimenti ancora per i tuoi utilissimi script... :wink:

Accetti qualche suggerimento per feature aggiuntive?
E' possibile implementare una cosa del tipo: md5check world ? (o magari anche md5check -D world per le dipendenze...)
L'idea sarebbe di generare un elenco di tutti i file di configurazione cambiati in modo da generare un backup "intelligente"....
Diciamo una lista da dare direttamente poi in pasto a tar :wink:
occhei che con un paio di pipe, cut e grep in fila si ottiene una cosa simile... ma implementarla direttamente sarebbe carino :D
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Fri Jun 10, 2005 10:28 am    Post subject: Reply with quote

Cazzantonio wrote:
Bello! Bellissimo! :D Complimenti ancora per i tuoi utilissimi script... :wink:

:oops: :D
Cazzantonio wrote:

Accetti qualche suggerimento per feature aggiuntive?

mi pare di essere sempre ben disposto a commenti,critiche suggerimenti ;)
(per lo meno so che vengo cagato)
Cazzantonio wrote:

E' possibile implementare una cosa del tipo: md5check world ? (o magari anche md5check -D world per le dipendenze...)
L'idea sarebbe di generare un elenco di tutti i file di configurazione cambiati in modo da generare un backup "intelligente"....
Diciamo una lista da dare direttamente poi in pasto a tar :wink:
occhei che con un paio di pipe, cut e grep in fila si ottiene una cosa simile... ma implementarla direttamente sarebbe carino :D


sul world non ci sarebbero' problemi..
sulle dipendenze si... a meno di non usare lo zio pino ;)

Tieni cmq conto che alcuni file che tu scrivi exnovo non potrebbero essere intercettati con md5check!

In teoria dovevo modificare checkintegrity e integrarlo in md5check per dare un tool + completo... in teoria..
(checkintegrity uso lo stesso motore e controlla tutto il sistema... ma controlla solo l'esistenza... non l'md5)

Ci pensero' cmq ;)
Grazie Mille!

Ciao :)
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Fri Jun 10, 2005 10:37 am    Post subject: Reply with quote

xchris wrote:
sul world non ci sarebbero' problemi..
sulle dipendenze si... a meno di non usare lo zio pino ;)

In realtà (imho) basterebbe la lista di tutti i file di conf cambiati... stare a fare differenze tra le dipendenze e i pacchetti in world serve a poco secondo me... :roll:
Quote:
Tieni cmq conto che alcuni file che tu scrivi exnovo non potrebbero essere intercettati con md5check!

Ovvio, però intanto darebbe una bella mano a tenere dietro a quelli "ufficiali" modificati... :wink:

Quote:
Ci pensero' cmq ;)
Grazie Mille!

Grazie a te :D ... io non ho proprio fatto nulla...
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Fri Jun 10, 2005 10:47 am    Post subject: Reply with quote

ecco un'implementazione semplicissima di quello che intendevo
Code:
#!/bin/bash
emerge -ep world |grep ebuild |cut -d" " -f 8 > /tmp/tuttiipacchetti
for i in `cat /tmp/tuttiipacchetti`
do
md5check $i |grep Changed
done

effettivamente non serve poi così tanto inegrarlo in md5check :wink:

[EDIT]
piccolo dubbio....
come mai mi lista anche tutte queste librerie? 8O
Code:
  -Changed-     /usr/lib/python2.3/base64.pyc
  -Changed-     /usr/lib/python2.3/idlelib/Debugger.pyo
  -Changed-     /usr/lib/python2.3/fnmatch.pyc
  -Changed-     /usr/lib/python2.3/hmac.pyo
  -Changed-     /usr/lib/python2.3/fnmatch.pyo
  -Changed-     /usr/lib/python2.3/hmac.pyc
  -Changed-     /usr/lib/python2.3/shelve.pyc
  -Changed-     /usr/lib/python2.3/curses/wrapper.pyo
  -Changed-     /usr/lib/python2.3/curses/wrapper.pyc
  -Changed-     /usr/lib/python2.3/encodings/cp864.pyo

(piccolissimo estratto di tutte le librerie elencate)

inoltre mi sengnala anche file di conf che non ho mai cambiato :roll:
Code:
  -Changed-     /etc/security/pam_env.conf
  -Changed-     /etc/pam.d/su

_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Fri Jun 10, 2005 11:00 am    Post subject: Reply with quote

python e' un discordo molto complicato...
prova a vedere un emerge --oneshot python

per i file che non hai mai modificato....eh..

prova a verere con "-sm"

in qualche modo sono cambiati...

ciao

EDIT: i file pyo,pyc vengono cambiati run-time
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
fabius
Guru
Guru


Joined: 29 Nov 2004
Posts: 525

PostPosted: Fri Jun 10, 2005 6:22 pm    Post subject: Reply with quote

xchris wrote:
Vedi un po' se e' ok

Ora funziona, grazie mille!!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum