我发现了一些ProFTP
与MySQL
连接的教程。但是这些按一般方案处理,它们中的99%是相同的。并且不要详细介绍配置。
是否需要SQLGroupInfo
?
我注意到组总是相同的。因此,groups表中只需要一个数据库记录。
我想通过省略组表并直接在配置中进行设置来解决此问题。
我该怎么做?
第一次尝试是注册一个自定义查询:
# Hardcoded groups
SQLNamedQuery get-groups SELECT 'ftp' AS `name`, 2001 AS `group`, 'ftpd' AS `members`
SQLGroupInfo sql:/get-groups
但是在这里,我遇到以下错误:
致命:SQLGroupInfo:'/etc/proftpd/sql.conf'的第34行上格式错误的参数
答案 0 :(得分:1)
问题是,我必须返回正确的行,例如gid
,groupname
和members
。如果需要,您可以删除FROM $table WHERE [...]
,这不是必需的。
这是解决方案:
# Hardcoded groups
SQLNamedQuery get-group-by-name SELECT "`username` AS `groupname`, '1010' AS `gid`, `username` AS `members` FROM `fh_ftp_user` WHERE `username`='%{0}'"
SQLNamedQuery get-group-by-id SELECT "`username` AS `groupname`, '1010' AS `gid`, `username` AS `members` FROM `fh_ftp_user` WHERE `username`='%{0}'"
SQLNamedQuery get-group-by-member SELECT "`username` AS `groupname`, '1010' AS `gid`, `username` AS `members` FROM `fh_ftp_user` WHERE `username`='%{0}'"
SQLGroupInfo custom:/get-group-by-name/get-group-by-id/get-group-by-member
或
# Hardcoded groups
SQLNamedQuery get-hardcoded-group SELECT "'YourHardcodedGroup' AS `groupname`, 1010 AS `gid`, 'MemberName' AS `members`"
SQLGroupInfo custom:/get-hardcoded-group