LINUX.ORG.RU

Проблема подключения агента к sendmail


0

0

Здравствуйте, господа линуксоиды.

Известно, что на сервере (CentOS 5.1) работает sendmail (100% уверенности правда нет); логины и пароли хронятся в базе mysql. В какой-то момент стало невозможным подключить ни MS Outlook (На этапе подключения к incoming mail server несколько раз подряд запрашивается пароль пользователя, но подключения не происходит ), ни TheBat! (FETCH - Server reports error. The response is: -ERR Auhtentication failed).

Как установить, что на серваке работает именно sendmail? (если нет, то кто?) В чем может быть трабл?

На всех клиентских машинах - XP и Vista. Около 8 почтовых клиентов работают нормально, после сноса и установки WinXP 2 - совершенно одинаково - никак. Смена паролей в базе эффекта не дала.

netstat -nlp|grep 25,
если нету доступа к консоли, то можно попробовать телнет на 25 порт сервера

a_andry
()

>incoming mail server
eto ne SMTP, prover' pop3/imap server

sdio ★★★★★
()

Может проще обратиться к системщику, администрирующему этот сервер? Если вам это просто досталось в тяжелое наследство, тогда по netstat --anp --ip смотрим проги, которые слушают pop3/imap порты.

Valmont ★★★
()

порты

Кто ожет растолковать, при чем тут 143й порт и почему IP в этих строках отображается именно так:

... netstat -anp ... tcp 0 0 :::110 :::* LISTEN 3141/dovecot ? tcp 0 0 :::143 :::* LISTEN 3141/dovecot ?

ViktorH
() автор топика

...+ мистика

С аккаунта, который 3 дня не удается подключить, пришло пустое сообщение на личный ящик... Который впринципе знает экс-админ...

ViktorH
() автор топика
Ответ на: комментарий от sdio

dovecot.conf не вместится... Как прикрепить файл? dovecot-sql.conf # This file is opened as root, so it should be owned by root and mode 0600. # # For the sql passdb module, you'll need a database with a table that # contains fields for at least the userid and password. If you want to # use the user@domain syntax, you might want to have a separate domain # field as well. # # If your users all have the same uig/gid, and have predictable home # directories, you can use the static userdb module to generate the home # dir based on the userid and domain. In this case, you won't need fields # for home, uid, or gid in the database. # # If you prefer to use the sql userdb module, you'll want to add fields # for home, uid, and gid. Here is an example table: # # CREATE TABLE users ( # userid VARCHAR(128) NOT NULL, # password VARCHAR(64) NOT NULL, # home VARCHAR(255) NOT NULL, # uid INTEGER NOT NULL, # gid INTEGER NOT NULL, # active CHAR(1) DEFAULT 'Y' NOT NULL # );

# Database driver: mysql, pgsql, sqlite driver = mysql

# Database connection string. This is driver-specific setting. # # pgsql: # For available options, see the PostgreSQL documention for the # PQconnectdb function of libpq. # # mysql: # Basic options emulate PostgreSQL option names: # host, port, user, password, dbname # # But also adds some new settings: # client_flags - See MySQL manual # ssl_ca, ssl_ca_path - Set either one or both to enable SSL # ssl_cert, ssl_key - For sending client-side certificates to server # ssl_cipher - Set minimum allowed cipher security (default: HIGH) # # You can connect to UNIX sockets by using host: host=/var/run/mysql.sock # Note that currently you can't use spaces in parameters. # # sqlite: # The path to the database file. # # Examples: # connect = host=192.168.1.1 dbname=users # connect = host=sql.example.com dbname=virtual user=virtual password=blarg # connect = /etc/dovecot/authdb.sqlite # connect = host=localhost dbname=mail user=postfix password=postfix

# Default password scheme. # # List of supported schemes is in # http://wiki.dovecot.org/Authentication/PasswordSchemes # #default_pass_scheme = PLAIN-MD5 default_pass_scheme = PLAIN

# Query to retrieve the password. # # This query must return only one row with "user" and "password" columns. # The query can also return other fields which have a special meaning, see # http://wiki.dovecot.org/PasswordDatabase/ExtraFields # # The "user" column is needed to make sure the username gets used with exactly # the same casing as it's in the database. Note that if you store username and # domain in separate fields, you most likely want to return a combination of # them as the "user" column, otherwise the domain gets stripped. # # Commonly used available substitutions (see # http://wiki.dovecot.org/Variables for full list): # %u = entire userid # %n = user part of user@domain # %d = domain part of user@domain # # Note that these can be used only as input to SQL query. If the query outputs # any of these substitutions, they're not touched. Otherwise it would be # difficult to have eg. usernames containing '%' characters. # # Example: # password_query = SELECT password FROM users WHERE userid = '%n' AND domain = '%d' # password_query = SELECT pw AS password FROM users WHERE userid = '%u' AND active = 'Y' # #password_query = SELECT userid as user, password FROM users WHERE userid = '%u' password_query = SELECT password FROM aliases WHERE alias = '%n@%d' # Query to retrieve the user information. # # The query must return only one row. Commonly returned columns are: # uid - System UID # gid - System GID # home - Home directory # mail - Mail location # # Either home or mail is required. uid and gid are required. If more than one # row is returned or there are missing fields, the login will fail. For a list # of all fields that can be returned, see # http://wiki.dovecot.org/UserDatabase/ExtraFields # # Examples # user_query = SELECT home, uid, gid FROM users WHERE userid = '%n' AND domain = '%d' # user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u' # user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u' # #user_query = SELECT home, uid, gid FROM users WHERE userid = '%u' user_query = SELECT home AS home, uid AS uid, gid AS gid FROM aliases WHERE alias = '%n@%d'

# If you wish to avoid two SQL lookups (passdb + userdb), you can use # userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll # also have to return userdb fields in password_query prefixed with "userdb_" # string. For example: #password_query = SELECT userid as user, password, home as userdb_home, uid as userdb_uid, gid as userdb_gid FROM users WHERE userid = '%u'

ViktorH
() автор топика
Ответ на: комментарий от ViktorH

Должно. Но у тебя в исх. сообщении ошибка на невозможность подкл. к pop3/imap , до smtp еще не дошло.

sdio ★★★★★
()
Ответ на: комментарий от ViktorH

>Разве не должно быть пары POP3-SMTP или IMAP-SMTP?

Судя по паролю для sql в конфиге у вас используется postfix, а доступ к почтовым ящикам идет по протоколам pop3 и imap (dovecot).

Попробуте, как уже сказали,
telnet ip-сервера 110
user username
pass password
list

username и password одного из тех, кому меняли пароль в базе. Если доступа не будет, можно посмотреть логи
(должны быть в /var/log/maillog) и попробовать вручную сформировать запрос к БД.

mky ★★★★★
()
Ответ на: комментарий от mky

Результат telnet

+OK Dovecot ready.
user Username <-пользователь из базы, которому менял пароль
+OK
pass Password-ERR Authentication failed. <- новый пассворд

Connection to host lost.

То же со старым паролем.

+OK Dovecot ready.
user root
+OK
pass rootpassword-ERR [IN-USE] Internal login failure. Refer to server log for more information.

Connection to host lost.

var/log/maillog:
...
Jan 18 09:39:18 bimash postfix/virtual[28658]: 69496918001: to=<Alias@bimash.com>, relay=virtual, delay=0.26, delays=0.2/0/0/0.05, dsn=2.0.0, status=sent (delivered to maildir)
...
Jan 18 13:20:07 bimash dovecot: pop3-login: Disconnected: Inactivity: user=<Alias>, method=PLAIN, rip=::ffff:192.168.0.100, lip=::ffff:192.168.0.1

ViktorH
() автор топика
Ответ на: Результат telnet от ViktorH

Попробуйте вводить при проверке с помощью telnet "USER username@domain",
то есть почтовый адрес, а не только имя пользователя.

Если не поможет, попробуйте из командной строки подключиться к базе и выполнить select:
$ mysql --user=postfix --password=postfix mail

Если подключится, то
SELECT password FROM aliases WHERE alias = "username@domain";

и посмотрите, совпадает ли пароль с изменненым...

mky ★★★★★
()
Ответ на: комментарий от mky

При вводе "USER username@domain" коннект действительно происходит:
...
list
+OK 32 messages:
1 899
2 1070
3 842
4 842
5 842
6 842
7 842
8 842
9 842
10 842
11 842
12 842
13 842
14 842
15 1162011
16 3521
17 844
18 844
19 844
20 140651
21 140637
22 842
23 842
24 842
25 842
26 842
27 842
28 608699
29 3384
30 842
31 743
32 2716
.

Попытка залогониться в MySQL кроме как рутом, как прежде,...:
# mysql --user=alias -password=aliaspass <-Здесь я понимаю имя e-mail'а?
Enter password: <-а тут пароль от e-mail'а?
ERROR 1045 (28000): Access denied for user 'alias'@'localhost' (using password: YES)

ViktorH
() автор топика
Ответ на: комментарий от ViktorH

У меня крыша съедет и я уволюсь подальше от линуха. Почему десяток аккаунтов пашут, а два - нет!! Почему на шаге Log onto incoming mail server (POP3) просят type your name and password несмотря на вбитую галку "Запомнить!!!" снова и снова??

ViktorH
() автор топика
Ответ на: комментарий от ViktorH

># mysql --user=alias -password=aliaspass <-Здесь я понимаю имя e-mail'а?

Тебе, наверное, действительно лучше уволится, т.к. видно что за все это время ты ничего не прочитал по теме.

sdio ★★★★★
()
Ответ на: комментарий от ViktorH

Если вам удалось залогинится через telnet, не надо было пытаться подключится к базе данных и выполнить select. Вбывайте в почтовых клиентах в качестве логина почтовый адрес.

Но если вам так уж хочется сделать select, то выполнять команду mysql надо было как написано (postfix, postfix) --- это логин и пароль к базе данных и они указаны в конфиге. Пароль пользователя при логине/запросе к базе данных вводить не надо, она должна вам его сказать...

>Почему на шаге Log onto incoming mail server (POP3) просят type your name and password несмотря на вбитую галку "Запомнить!!!" снова и снова??

Я долго думал, то так и не смог вспомнить у какого почтового клиента есть галка "Запомнить!!!", именно с тремя воскл. знаками. Отпишите разработчикам этой программы, пусть добавять кнопку "Чё не понял?!? Быра запомнил!!!"

А лучше, действительно увольтесь, пока крыша не съехала :)

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.