vsftpd - local_root = / var / www / sites / $ USER não é interpretado?


11

Quando estou tentando me conectar ao servidor FTP, recebo: "500 OOPS: não é possível alterar o diretório: / home / $ USER / public_html"

  • quando echo $ USER - recebo o nome de usuário adequado
  • parece que $ USER não é interpretado dentro do meu /etc/vsftpd.conf
  • quando eu removo "local_root = / var / www / sites / $ USER" Tudo está funcionando perfeitamente.

Estou executando o vsftpd 2.2.2 e o Ubuntu 10.04.1 LTS Release: 10.04 Nome de código: lucid

Respostas:


21

O que você precisa usar é uma combinação de user_config_dir e local_root. No arquivo de configuração principal /etc/vsftpd/vsftp.conf, você tem uma entrada como:

chroot_local_user=YES
user_config_dir=/etc/vsftpd/users

Dentro desse diretório (/ etc / vsftpd / users), você tem um arquivo de configuração com o mesmo nome que o usuário ($ USER no seu caso) e dentro desse arquivo você tem:

local_root=/var/www/sites/USER
dirlist_enable=YES
download_enable=YES
write_enable=YES

... onde USER é o nome real (não literalmente USER ou $ USER).


2
A passagem importante aqui é use user_sub_token=$USER:, isso faz com que a configuração original do pôster funcione porque a variável $ USER obtém um valor utilizável. Veja meu comentário na outra resposta.
user3450548

5

Você deve definir user_sub_token:

user_sub_token=$USER
local_root=/var/www/sites/$USER

2
Engraçado que essa é a solução real, o que o pôster original queria fazer era realmente aplicável. Você também pode usá-lo no outro exemplo proposto, mas não é necessário habilitá-lo user_config_dir. Você pode fazê-lo ou não, dependendo do seu gosto. O passo importante aqui é user_sub_token=$USER, porque é esse quem preenche o $USERvar com algo útil dentro do conf. Veja a user_sub_tokendescrição na página do manual: "Esta opção também afeta se local_root contiver user_sub_token."
user3450548
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.