vsftpd - lokalny katalog_główny = / var / www / sites / $ USER nie jest interpretowany?


11

Kiedy próbuję połączyć się z serwerem FTP, pojawia się komunikat: „500 OOPS: nie można zmienić katalogu: / home / $ USER / public_html”

  • kiedy powtórzę echo $ USER - dostaję prawidłową nazwę użytkownika
  • wygląda na to, że $ USER nie jest interpretowany w moim /etc/vsftpd.conf
  • kiedy usuwam "local_root = / var / www / sites / $ USER" I wszystko działa płynnie.

Korzystam z wersji vsftpd 2.2.2 i Ubuntu 10.04.1 LTS Release: 10.04 Codename: lucid

Odpowiedzi:


21

To, czego potrzebujesz, to połączenie katalogu user_config_dir i local_root. W głównym pliku konfiguracyjnym /etc/vsftpd/vsftp.conf masz wpis:

chroot_local_user=YES
user_config_dir=/etc/vsftpd/users

W tym katalogu (/ etc / vsftpd / users) znajduje się plik konfiguracyjny o tej samej nazwie co użytkownik (w twoim przypadku $ USER), a wewnątrz tego pliku masz:

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

... gdzie USER to rzeczywista nazwa (nie dosłownie USER lub $ USER).


2
Ważne jest tutaj użycie: user_sub_token=$USERpowoduje to, że oryginalna konfiguracja plakatu działa, ponieważ zmienna $ USER otrzymuje użyteczną wartość. Zobacz mój komentarz w drugiej odpowiedzi.
user3450548,

5

Musisz ustawić user_sub_token:

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

2
To zabawne, że to jest prawdziwe prawdziwe rozwiązanie, to, co chciał zrobić oryginalny plakat, faktycznie miało zastosowanie. Możesz użyć go również w innym proponowanym przykładzie, ale nie musisz koniecznie włączać user_config_dir. Możesz to zrobić lub nie, w zależności od upodobań. Ważna jest tutaj przepustka user_sub_token=$USER, ponieważ to ona wypełnia $USERvar czymś użytecznym w konf. Zobacz user_sub_tokenopis na stronie podręcznika : „Ta opcja ma również wpływ, jeśli local_root zawiera user_sub_token.”
user3450548,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.