popolez jsem dale.
zjistil jsem, ze port proftpd-mysql je jiz passe a ma se pouzit
proftpd-mod_sql_mysql. Nainstaloval jsem jej a prihlasovani funguje.
Teda nefunguje, ale snazi se. Coz je pokrok. Myslim si (v DB se moc
nevyznam-spise jsem poucenej amater) , ze nova verze proftp asi vola
neco jinak, nez ocekaval tvurce proftpd admina. Vytvoril jsem
virtualniho uzivatele jerry s nejakym heslem.
Pri dotazu primo v myslq dostanu tohle:
mysql> select * from users where userid="jerry";
+----+--------+------+-------+-------------------------------------------+-------------------+---------+----------+---------------+--------------+------+----------+----------+-------------+----------+----------+------------+
| id | userid | uid| gid| passwd| homedir| comment | disabled | shell|
email| name | ul_bytes | dl_bytes | login_count | dl_count | ul_count |
last_login |
+----+--------+------+-------+-------------------------------------------+-------------------+---------+----------+---------------+--------------+------+----------+----------+-------------+----------+----------+------------+
|1 | jerry| 1000 | 10000 | *36860630844C32634F6F879E0CF81673F031DA7A |
/data/ftp-virtual ||0 | /sbin/nologin | xy@dvorec.eu | aa|0 |0 |0 |0 |0
| NULL|
+----+--------+------+-------+-------------------------------------------+-------------------+---------+----------+---------------+--------------+------+----------+----------+-------------+----------+----------+------------+
pri pokusu o prihlaseni pomoci ftp se v logu mysql objevi:
120820 16:30:21243 Connectuzivak@localhost on db
243 QuerySELECT userid, passwd, uid, gid, homedir, shell FROM users
WHERE (userid='jerry') AND (((disabled!=1))) LIMIT 1
ftp autentizace selze
proftpd -vv
ProFTPD Version: 1.3.4b (maint)
Scoreboard Version: 01040003
Built: Tue Aug 14 2012 05:53:27 CEST
Loaded modules:
mod_sql_mysql/4.0.8
mod_sql/4.3
mod_lang/0.9
mod_ctrls/0.9.5
mod_auth_pam/1.1
mod_ident/1.0
mod_dso/0.5
mod_facts/0.3
mod_delay/0.7
mod_site.c
mod_log.c
mod_ls.c
mod_auth.c
mod_auth_file/0.9
mod_auth_unix.c
mod_xfer.c
mod_core.c
tady je config
ServerName "Muj FTP Server"
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd/proftpd.scoreboard
Port 21
Umask 022
MaxInstances 30
CommandBufferSize 512
PassivePorts 50000 50500
User nobody
Group nogroup
DefaultRoot ~ !admins
AllowOverwrite on
Protocols ftps sftp ftp scp
DenyAll
CreateHome on
RequireValidShell off
SyslogLevel debug
LogFormat default "%h %l %u %t "%r" %s %b"
LogFormat auth "%v [%P] %h %t "%r" %s"
LogFormat write "%h %l %u %t "%r" %s %b"
TransferLog /var/log/proftpd.xferlog
ExtendedLog /var/log/proftpd.auth_log AUTH auth
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
AuthOrder mod_sql.c
SQLConnectInfo db@127.0.0.1 uzivak heslo PERSESSION
SQLAuthenticate users #groups
SQLAuthTypes Crypt # Backend
SQLUserInfo users userid passwd uid gid homedir
shell
SQLGroupInfo groups groupid gid members
SQLLog PASS logincount
SQLNamedQuery logincount UPDATE
"login_count=login_count+1 WHERE userid='%u'" users
SQLLog PASS lastlogin
SQLNamedQuery lastlogin UPDATE
"last_login=now() WHERE userid='%u'" users
SQLLog RETR dlbytescount
SQLNamedQuery dlbytescount UPDATE
"dl_bytes=dl_bytes+%b WHERE userid='%u'" users
SQLLog RETR dlcount
SQLNamedQuery dlcount UPDATE
"dl_count=dl_count+1 WHERE userid='%u'" users
SQLLog STOR ulbytescount
SQLNamedQuery ulbytescount UPDATE
"ul_bytes=ul_bytes+%b WHERE userid='%u'" users
SQLLog STOR ulcount
SQLNamedQuery ulcount UPDATE
"ul_count=ul_count+1 WHERE userid='%u'" users
SQLUserWhereClause "disabled!=1"
AllowOverwrite on
HideNoAccess on
AllowAll
AllowAll
DenyGroup !admins