Не проходит аутентификация в 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.
Код: Выделить всё
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
юзеров из /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
