25-10-04 10:08
Vjeverica odbija autentikaciju, što sad?
piše ACO DMITROVIĆ
Nepodnošljiva lakoća dogradnje paketa na Debianu ipak ima svoje naličje. Iako u većini slučajeva nakon upisivanja para naredbi
# apt-get update; apt-get upgrade
sustav nastavlja raditi normalno, povremeno se dogodi da telefon počinje zvoniti, a korisnici se žale da neki od servisa više ne radi kako treba.
Nedavno se nešto tako dogodilo s programom za web mail squirrelmail. Zvuči poznato: odjednom se korisnici više ne mogu prijaviti kako bi pročitali svoju poštu. Sistemac pogleda popis paketa koji su se tog jutra instalirali, na njemu nema paketa squirrellmail. Što sada?
Helpdesk za sistemce naravno ima spreman odgovor: pogledajte u datoteku /etc/c-client.cf, tamo treba pisati ovo:
I accept the risk set disable-plaintext nil
Drugi redak je nedostajao. Nakon što se upiše da prihvaćamo autentikaciju pomoću plain-text passworda, vjererica će ponovo raditi kako treba. Naime squirrelmail ne zna raditi sa zaporkama koje putuju kriptirane. Na prvi pogled to je sigurnosni propust, ali ne značajan jer se radi o lokalnom prometu između web sučelja i imapa.
Priznajmo, ostaje nejasno kako se to dogodilo. Potražimo kojem paketu pripada ta konfiguracijska datoteka.
# dpkg -S /etc/c-client.cf dpkg: /etc/c-client.cf not found.
Naletjeli smo na zapreku, nijedan paket ne instalira tu datoteku. No pravi sistemac se ne predaje. Najprije treba ustanoviti o kojim paketima ovisi squirrelmail.
# dpkg -s squirrelmail Package: squirrelmail Status: install ok installed Priority: optional Section: web Installed-Size: 12808 Maintainer: Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Architecture: all Version: 2:1.4.3a-2 Depends: apache2 | httpd, libapache2-mod-php4 | php4 | php4-cgi, perl Recommends: aspell | aspell-bin | ispell Suggests: imap-server, php4-pear ...
Dobili smo upute za daljnju potragu. Vjeverica za čitanje pošte koristi imap protokol, pa bi to bio očigledan izbor, jer imap za pristup pošti zahtijeva autentikaciju. Pretpostavimo da tog jutra nije instaliran novi paket imap, pa treba tražiti dalje.
# dpkg -s uw-imapd Package: uw-imapd Status: install ok installed Priority: optional Section: mail Installed-Size: 228 Maintainer: Jonas Smedegaard <dr@jones.dk> Architecture: i386 Source: uw-imap Version: 7:2002edebian1-4 Replaces: imapd, imap-4, imap Provides: imap-server Depends: libc-client2002edebian, libc6 (>= 2.3.2.ds1-4), libcomerr2 (>= 1.33-3), libkrb53 (>= 1.3.2), libpam0g (>= 0.76), libssl0.9.7, debconf (>= 1.2.0), openssl, libpam-runtime (>= 0.76-13.1) ...
U polju Depends prvi je na redu paket libc-client2002edebian, koji se tog jutra instalirao. Već smo vidjeli da paket ne instalira datoteku /etc/c-client.cf, pa je vrlo vjerojatno da je kreira u postinst skripti. Te se skripte nalaze u direktoriju /var/lib/dpkg/info. Tamo potražimo datoteku uw-imapd.postinst, u kojoj se nalaze sljedeće naredbe:
db_get libc-client/plaintext if [ "$RET" = "true" ]; then printf "\nI accept the risk\n" >> /etc/c-client.cf perl -ni -e '$n++; print "I accept the risk\nset disable-plaintext nil\n" if $n==1; \ print && next unless /^($|I accept the risk|set\s*disable-plaintext)/i;' /etc/c-client.cf else if [ -f /etc/c-client.cf ]; then printf "\nI accept the risk\n" >> /etc/c-client.cf perl -ni -e '$n++; print "I accept the risk\n" if $n==1; \ print && next unless /^($|I accept the risk|set\s*disable-plaintext)/i;' /etc/c-client.cf fi fi
Eto, pronašli smo mjesto na kojem je zapelo. Za ovu priliku dovoljno smo naučili. Više o Debianovim paketima u člancima koji slijede.
|