Страница 1 из 1

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

Добавлено: 2009-03-03 18:26:23
bronez
здравствуйте, коллеги!

Не проходит аутентификация в 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
заранее спасибо за помощь.

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

Добавлено: 2009-03-03 22:15:51
kirgudu
Пароли хэшем, надеюсь?

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

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