É possível definir um caminho base personalizado para os diretórios iniciais do proftpd?

1

Conheço a configuração DefaultRoot ~ que você pode usar para prender usuários em seus diretórios pessoais, mas eu preciso personalizar isso.

Ao autenticar com o proftpd, obtenho o diretório home do usuário em ldap via auth-pam . Não tenho controle sobre qual será o caminho do diretório inicial, mas preciso que eles estejam no meu glusterfs , que é um fusemount que tenho em /mnt/glusterfs .

O que eu adoraria ter é que, se eu conseguir a casa de um usuário como /some/directory , o proftpd os colocaria em /mnt/glusterfs/some/directory

Então, basicamente, eu gostaria de ter algo como DefaultRoot /base/path/~

Se vocês (e / ou garotas) puderem pensar em alguma solução, seja modificando o código ou qualquer outra solução criativa, eu ficaria feliz em ouvi-lo.

obrigado antecipadamente

    
por PhilippN 17.06.2014 / 10:00

2 respostas

0

Se os diretórios pessoais normais de seus usuários incluírem o nome de usuário, por exemplo, "/ home / foo" para o usuário "foo", então você pode poder usar algo assim:

DefaultRoot /mnt/glusterfs/home/%u

Essa variável %u será resolvida para o nome de usuário autenticado.

Outra abordagem mais sofisticada é usar o módulo mod_rewrite e o RewriteHome ; A documentação da diretiva RewriteHome contém um exemplo de como sua regex / substituição pode ser. E a funcionalidade RewriteHome se aplica independentemente da origem do diretório inicial, seja LDAP, funções do sistema, etc .

Espero que isso ajude!

    
por 30.01.2016 / 22:41
0

Você pode usar as seguintes diretivas para criar o caminho base para todos os usuários do ftp. Isso restringirá os usuários a esse caminho apenas

LDAPGenerateHomedir on
LDAPForceGeneratedHomedir on
LDAPGenerateHomedirPrefix /mnt/glusterfs/some/directory/
    
por 24.09.2015 / 08:41