Estou tentando usar a configuração MySQL do ProFTPd para configurar o logon FTP no meu servidor. Eu tenho um SQLNamedQuery
que é usado para obter as informações do usuário no banco de dados (consulte Configurando o ProFTPd com o diretório inicial padrão com base no nome de usuário ) e, como parte da consulta, uso a %u
variável para inserir o nome de usuário. Quando tento conectar, sempre obtenho o login incorreto. Verificando o arquivo de log SQL, parece que o logon falha porque não%u
está sendo substituído pelo nome de usuário enviado via FTP, mas sempre por . Existe outra variável que devo usar? Por que não está sendo substituído pelo nome de usuário do FTP? Quando substituo por um nome de usuário que esteja na tabela de usuários do MySQL, eu posso conectar.proftpd
%u
%u
Aqui está a minha configuração:
<IfModule mod_sql.c>
SQLLogFile /var/log/proftpd/sql.log
SQLDefaultUID 2001
SQLDefaultGID 2001
SQLBackend mysql
SQLPasswordEngine on
SQLAuthTypes sha1
SQLConnectInfo *****@localhost ***** **********
SQLNamedQuery userinfo SELECT "uname, passwd, CONCAT('2001'), CONCAT('2001'), CONCAT('/var/projects/users/', uname) AS homedir FROM users WHERE uname='%u'"
SQLUserInfo custom:/userinfo
SQLGroupInfo ftpgroups groupname gid members
</IfModule>
E aqui está a linha relevante no meu arquivo de log SQL (observe o uname='proftpd'
bit no final):
query "SELECT uname, passwd, CONCAT('2001'), CONCAT('2001'), CONCAT('/var/projects/users/', uname) AS homedir FROM users WHERE uname='proftpd'"
fonte