Diretório de usuários virtuais ProFTPD

Diretório de usuários virtuais ProFTPD

Tudo bem, estou tentando replicar a configuração básica de uma empresa de hospedagem na web aqui, autenticando usuários virtuais via SQL e redirecionando/prendendo-os para seu diretório. Eu alcancei a maioria dos objetivos aqui,com exceção de redirecioná-los/prendê-los para seu diretório.

Os diretórios são armazenados /home/ftpe é isso que DefaultRootestá definido. Quero que cada usuário individual tenha e seja preso em seu próprio diretório. Não parece que a configuração homedirno SQL tenha algum efeito. Ao fazer login no FTP com qualquer usuário, ele efetua login DefaultRootsem prisão ou redirecionamento de diretório.

Como faço para realizar esta última tarefa?

Responder1

Tente comentar DefaultRoot. Acho que pode substituir os valores lidos no back-end do banco de dados.

EDITAR:

Se DefaultRoot estiver definido e qualquer coisa diferente de ~ então o usuário será preso em uma árvore com raiz em DefaultRoot.

Se DefaultRoot for ~ então o usuário será preso em uma árvore com raiz em seu diretório inicial.

Responder2

Além de definir DefaultRoot ~ conforme mencionado, como é a sua configuração SQL - você está realmente extraindo-a do banco de dados?

DefaultRoot ~

<IfModule mod_dso.c>
  LoadModule mod_sql.c
  LoadModule mod_sql_mysql.c
</IfModule>

SQLLogFile          /var/log/proftpd/mod_sql.log
PersistentPasswd    off
AuthPAM             off
AuthUserFile        /some/path/to/dummy/passwd.ftp
AuthGroupFile       /some/path/to/dummy/group.ftp
AuthOrder           mod_sql.c mod_auth_file.c

SQLConnectInfo      proftpd@localhost:3306 userdatabase password
SQLAuthTypes        Backend Crypt Plaintext OpenSSL
SQLUserInfo         user user_id password NULL NULL ftp_homedir NULL
SQLAuthenticate     users
SQLDefaultUID       14
SQLDefaultGID       50
SQLMinUserUID       13
SQLMinUserGID       49

Esse é um exemplo mais ou menos conciso de fazer 100% de autenticação no banco de dados e prendê-los em seu homedir, conforme listado no banco de dados. Se você também deseja criar dinamicamente seu diretório inicial quando eles fizerem login (útil se você adicioná-los em um banco de dados e não quiser fazer login em um servidor para fazer isso), você pode adicionar:

CreateHome on dirmode 0755

...para a configuração. Os outros dois arquivos fictícios listados acima correspondem à instalação do ProFTPd, que está em um servidor Red Hat/Centos:

senha.ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin

grupo.ftp

ftp:x:50:
nobody:x:99:

Tudo isso faz com que seus usuários virtuais tenham UID/GID de 14:50 no disco rígido, independentemente do nome de usuário de login.

informação relacionada