1 |
Hello Alex, |
2 |
|
3 |
Thursday, October 26, 2006, 2:40:31 PM, you wrote: |
4 |
> On Thu, Oct 26, 2006 at 01:06:05PM +0300, Konstantin Astafjev wrote: |
5 |
>> Люди, помогите, угробил апдейтами серьёзный сервис. Нужно срочно |
6 |
>> восстановить - ничего не получается. У меня |
7 |
>> qmail+vpopmail+courierimap+mysql |
8 |
|
9 |
> Если проблема вызвана именно сборкой gcc/glibc, то её возможно получится |
10 |
> увидеть запустив ldd для используемых программ, напр.: |
11 |
> ldd /path/to/vchkpw |
12 |
> и понять каких библиотек ему не хватает, например. |
13 |
|
14 |
сломаный: |
15 |
greymail bin # ldd /var/vpopmail/bin/vchkpw |
16 |
linux-gate.so.1 => (0xffffe000) |
17 |
libmysqlclient.so.14 => /usr/lib/libmysqlclient.so.14 (0xb7e1f000) |
18 |
libz.so.1 => /lib/libz.so.1 (0xb7e0d000) |
19 |
libm.so.6 => /lib/libm.so.6 (0xb7de9000) |
20 |
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7dbb000) |
21 |
libc.so.6 => /lib/libc.so.6 (0xb7ca3000) |
22 |
libnsl.so.1 => /lib/libnsl.so.1 (0xb7c8f000) |
23 |
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7c53000) |
24 |
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7b27000) |
25 |
/lib/ld-linux.so.2 (0xb7f5b000) |
26 |
libdl.so.2 => /lib/libdl.so.2 (0xb7b23000) |
27 |
|
28 |
работающий: |
29 |
office ~ # ldd /var/vpopmail/bin/vchkpw |
30 |
linux-gate.so.1 => (0xffffe000) |
31 |
libmysqlclient.so.14 => /usr/lib/libmysqlclient.so.14 (0xb7da6000) |
32 |
libz.so.1 => /lib/libz.so.1 (0xb7d94000) |
33 |
libm.so.6 => /lib/tls/libm.so.6 (0xb7d71000) |
34 |
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7d43000) |
35 |
libc.so.6 => /lib/tls/libc.so.6 (0xb7c24000) |
36 |
libnsl.so.1 => /lib/libnsl.so.1 (0xb7c0e000) |
37 |
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7bd6000) |
38 |
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7a96000) |
39 |
/lib/ld-linux.so.2 (0xb7ef4000) |
40 |
libdl.so.2 => /lib/libdl.so.2 (0xb7a92000) |
41 |
|
42 |
Отличается: |
43 |
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7c53000) |
44 |
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7b27000) |
45 |
и |
46 |
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7bd6000) |
47 |
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7a96000) |
48 |
|
49 |
Так понимаю что разный openssl. Может ли это влиять? |
50 |
|
51 |
Наверно это будет не по теме, но я помню, что делая etc-update |
52 |
в файле /etc/ssl/openssl.cnf мне было предложено сменить: |
53 |
|
54 |
# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs |
55 |
# so this is commented out by default to leave a V1 CRL. |
56 |
# crlnumber must also be commented out to leave a V1 CRL. |
57 |
# crl_extensions = crl_ext |
58 |
|
59 |
default_md = md5 # which md to use. |
60 |
на |
61 |
#default_md = sha1 # which md to use. |
62 |
|
63 |
> Кроме этого можно попробовать в эту команду |
64 |
>> printf "postmaster@××××××××.com\0secretpass\0blah\0" | vchkpw `which id` 3<&0 |
65 |
> добавить strace: |
66 |
>> printf "postmaster@××××××××.com\0secretpass\0blah\0" | strace vchkpw `which id` 3<&0 |
67 |
> и сравнить как оно отрабатывает на машине со сломанным vchkpw и с работающим |
68 |
> (или просто вычитать результат strace и понять что именно не работает, но |
69 |
> это требует довольно глубоких знаний и системы и принципов работы самого |
70 |
> vchkpw). |
71 |
|
72 |
К моему стыду и сожалению strace мне действительно не помогло, так как |
73 |
я слабо в этом понимаю. :( |
74 |
|
75 |
> Далее, может помочь копирование библиотек (gcc+glibc) и используемых |
76 |
> пакетов (vpopmail, etc.) с других машин, где всё работает. Типа сделать |
77 |
> бинарные архивы через quickpkg и скопировать/установить их на сломанной |
78 |
> машине. Это ужасный грязный хак, который может вообще положить всю |
79 |
> систему, так что если сервер удалённый лучше даже не пытаться - его, если |
80 |
> что, с CDROM для починки не загрузишь. |
81 |
|
82 |
Сервер очень далеко и даже не со всяким LiveCD там загрузишься, так как |
83 |
стоит hardware RAID-10 hpt374. И модуль под него отдельно собирать |
84 |
надо. |
85 |
|
86 |
> А вообще, чтобы такого не происходило, нужно следовать определённым |
87 |
> правилам при обновлении системы. В частности, при обновлении одного из |
88 |
> пакетов входящих в toolchain (linux-headers, glibc, binutils или gcc) |
89 |
> нужно предпринять ряд телодвижений детально описанных на форуме gentoo |
90 |
> и собранных мной из разных веток форума вот здесь: |
91 |
> http://powerman.asdfgroup.com/RTFM/Support-n-Upgrade.txt |
92 |
> (поиском найдите фразу "Обновление одного из пакетов входящих в toolchain."). |
93 |
> Эти команды могут выглядеть немного избыточными, но на самом деле там |
94 |
> избыточности нет - если вы хотите чтобы всё работало после обновления, конечно. |
95 |
|
96 |
Спасибо за полезную ссылку. Постараюсь изучить досконально. Сейчас уже |
97 |
и пересобираю весь system и world, параллельно устанавливая ещё один |
98 |
сервер. В общем, моя самонадеянность вышла мне боком. |
99 |
|
100 |
> P.S. А вообще странно что vchkpw молча не работает и никаких ошибок не |
101 |
> выдаёт. Может вы просто плохо логи смотрели? А то если нет сообщения об |
102 |
> ошибке, то не понятно что чинить надо... |
103 |
|
104 |
Я включил лог для mysql'а и courier-authlib: |
105 |
# Dump additional diagnostics to syslog |
106 |
# |
107 |
# DEBUG_LOGIN=0 - turn off debugging |
108 |
# DEBUG_LOGIN=1 - turn on debugging |
109 |
# DEBUG_LOGIN=2 - turn on debugging + log passwords too |
110 |
# |
111 |
# ** YES ** - DEBUG_LOGIN=2 places passwords into syslog. |
112 |
# |
113 |
# Note that most information is sent to syslog at level 'debug', so |
114 |
# you may need to modify your /etc/syslog.conf to be able to see it. |
115 |
|
116 |
DEBUG_LOGIN=2 |
117 |
|
118 |
И всё что я обнаруживаю в логах это такие строки: |
119 |
|
120 |
Oct 26 15:16:02 greymail pop3d: Connection, ip=[x.x.x.x] |
121 |
Oct 26 15:16:02 greymail authdaemond: received auth request, service=pop3, authtype=login |
122 |
Oct 26 15:16:02 greymail pop3d: LOGIN FAILED, user=user@××××××.com, ip=[x.x.x.x] |
123 |
Oct 26 15:16:02 greymail authdaemond: authvchkpw: trying this module |
124 |
Oct 26 15:16:02 greymail authdaemond: vchkpw: user does not exist |
125 |
Oct 26 15:16:02 greymail authdaemond: authvchkpw: REJECT - try next module |
126 |
Oct 26 15:16:02 greymail authdaemond: FAIL, all modules rejected |
127 |
|
128 |
permissions сличил всё аналогично работающей машине. |
129 |
|
130 |
Будет мне наука toolchain трогать. Спасибо всем, кто помогает. |
131 |
|
132 |
-- |
133 |
Best regards, |
134 |
Konstantin |