PureFTP + PgSQL аутентификация не проходит

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
bronez
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-17 22:42:12

PureFTP + PgSQL аутентификация не проходит

Непрочитанное сообщение bronez » 2009-03-03 18:26:23

здравствуйте, коллеги!

Не проходит аутентификация в pureftp с базой пользователей в pgsql.

запускаю строчкой
pure-ftpd -l pgsql:/usr/local/etc/pureftpd-pgsql.conf -4 -A -B -b -d

в логах:

Код: Выделить всё

Mar  3 18:01:45 web pure-ftpd: (?@192.168.1.3) [INFO] New connection from 192.168.1.3
Mar  3 18:01:45 web pure-ftpd: (?@192.168.1.3) [DEBUG] Command [user] [u00001]
Mar  3 18:01:45 web pure-ftpd: (?@192.168.1.3) [DEBUG] Command [pass] [<*>]
Mar  3 18:01:45 web pure-ftpd: (?@192.168.1.3) [WARNING] Authentication failed for user [u00001]
Mar  3 18:01:48 web pure-ftpd: (?@192.168.1.3) [DEBUG] Command [quit] []
Mar  3 18:01:48 web pure-ftpd: (?@192.168.1.3) [INFO] Logout.
в конфиге /usr/local/etc/pureftpd-pgsql.conf:

Код: Выделить всё

PGSQLServer     127.0.0.1
PGSQLPort       5432
PGSQLUser       pureftpd
PGSQLPassword   pwd4pureftpd
PGSQLDatabase   billing
PGSQLCrypt      cleartext
PGSQLGetPW      SELECT passwd   FROM ftp.ftpusers WHERE ftpuser='\L' AND enabled = 1;
PGSQLGetUID     SELECT user_id  FROM ftp.ftpusers WHERE ftpuser='\L' AND enabled = 1;
PGSQLGetGID     SELECT group_id FROM ftp.ftpusers WHERE ftpuser='\L' AND enabled = 1;
PGSQLGetDir     SELECT homedir  FROM ftp.ftpusers WHERE ftpuser='\L' AND enabled = 1;
выглядит все, как живое, анонимуса пускает, куда копать? идей никаких. :(

с таким же результатом запускал с конфигом /usr/local/etc/pure-ftpd.conf:

Код: Выделить всё

ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  yes
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
PGSQLConfigFile             /usr/local/etc/pureftpd-pgsql.conf
LimitRecursion              2000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
Umask                       110:007
MinUID                      1000
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
MaxDiskUsage                99
CustomerProof               yes
когда запускал так: pure-ftpd -l pam -4 -A -B -b -d
юзеров из /etc/passwd пускает, все нормально.

на ручной запрос из базы PostgreSQL получаю все, как надо... подозрение такое, что или что-то не так передается от pureftp в pgsql, или обратно.

в логах pgsql во время обращения к фтп:

Код: Выделить всё

[unknown]%[unknown]%2099%%2009-03-03 21:25:55 MSKLOG:  connection received: host=localhost port=30006
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  connection authorized: user=pureftpd database=billing
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  statement: BEGIN
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  statement: SELECT passwd   FROM ftp.ftpusers WHERE ftpuser='u00001' AND enabled = 1;
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  statement: SELECT user_id  FROM ftp.ftpusers WHERE ftpuser='u00001' AND enabled = 1;
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  statement: SELECT group_id FROM ftp.ftpusers WHERE ftpuser='u00001' AND enabled = 1;
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  statement: SELECT homedir  FROM ftp.ftpusers WHERE ftpuser='u00001' AND enabled = 1;
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  statement: COMMIT
pureftpd%billing%2099%localhost%2009-03-03 21:25:55 MSKLOG:  disconnection: session time: 0:00:00.014 user=pureftpd database=billing host=localhost port=30006
заранее спасибо за помощь.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kirgudu
сержант
Сообщения: 185
Зарегистрирован: 2009-01-16 23:14:00

Re: PureFTP + PgSQL аутентификация не проходит

Непрочитанное сообщение kirgudu » 2009-03-03 22:15:51

Пароли хэшем, надеюсь?

bronez
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-17 22:42:12

Re: PureFTP + PgSQL аутентификация не проходит

Непрочитанное сообщение bronez » 2009-03-04 15:08:59

пfроли в чистом виде. не шифрованые.
и как я понимаю, строка в /usr/local/etc/pureftpd-pgsql.conf
PGSQLCrypt cleartext
как раз и говорит о том, что пароль передается в чистом виде, нет? :st: