ProFTPd consulta MySQL% u resolve para proftpd, não nome de usuário

2

Estou tentando usar a configuração MySQL do ProFTPd para configurar o login do FTP no meu servidor. Eu tenho um SQLNamedQuery que é usado para obter as informações do usuário do 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 eu uso a variável %u para inserir o nome de usuário. Quando tento conectar, sempre consigo fazer o login incorreto. Verificando o arquivo de log SQL, parece que o login falha porque %u está não sendo substituído pelo nome de usuário enviado via FTP, mas sempre por proftpd . Existe outra variável que eu deveria usar? Por que o %u não está sendo substituído pelo nome de usuário do FTP? Quando eu substituo %u por um nome de usuário que está na tabela de usuários do MySQL, posso me conectar.

Aqui está 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'"
    
por D. Strout 12.01.2013 / 17:54

1 resposta

4

O problema é que %u se refere ao usuário local (que no seu caso é proftpd ). Você deve usar %U (note o maiúsculo U), que se refere ao usuário FTP. Observe o último parágrafo na página ProFTPd SQLUserInfo , acima de "Consulte também".

    
por 12.01.2013 / 18:29