我刚刚用 proftpd 和 mod_sql 设置了我的 ftp 服务器。到目前为止,身份验证似乎运行良好。我仍然可以使用数据库中的用户登录,但 chroot 不再起作用。服务器没有从数据库中获取主目录,而是尝试将我的主目录 chroot 到默认主目录(这是不可能的,因为它被设置为 /dev/null)。
proftpd.log:
2016-10-25 18:12:21,276 xxx proftpd[2673] xxx.de (xxx.t-ipconnect.de[80.128.XX.XX]): FTP session opened.
2016-10-25 18:12:21,313 xxx proftpd[2673] xxx.de (xxx.t-ipconnect.de[80.128.XX.XX]): chroot to '/dev/null' failed for user 'me': Not a directory
2016-10-25 18:12:21,313 xxx proftpd[2673] xxx.de (xxx.t-ipconnect.de[80.128.XX.XX]): error: unable to set DefaultRoot directory
2016-10-25 18:12:21,313 xxx proftpd[2673] xxx.de (xxx.t-ipconnect.de[80.128.XX.XX]): FTP session closed.
proftpd/sql.conf
SQLConnectInfo [email protected] froxlor ******
SQLUserInfo ftp_users username password uid gid homedir shell
SQLGroupInfo ftp_groups groupname gid members
SQLUserWhereClause "login_enabled = 'y'"
SQLLog PASS login
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users
SQLLog RETR download
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users
SQLLog STOR upload
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users
有什么办法可以解决这个问题吗?