vsftpd - local_root = / var / www / sites / $ USER не інтерпретується?


11

Коли я намагаюся підключитися до FTP-сервера, я отримую: "500 OOPS: не вдається змінити каталог: / home / $ USER / public_html"

  • коли я залучаю echo $ USER - отримую належне ім'я користувача
  • здається, що $ USER не інтерпретується в моєму /etc/vsftpd.conf
  • коли я видаляю "local_root = / var / www / sites / $ USER", я все безперебійно працює.

Я запускаю vsftpd 2.2.2 та Ubuntu 10.04.1 LTS Реліз: 10.04 Кодове ім'я: lucid

Відповіді:


21

Що вам потрібно використовувати, це комбінація користувача_config_dir та local_root. У головному конфігураційному файлі /etc/vsftpd/vsftp.conf у вас є запис типу:

chroot_local_user=YES
user_config_dir=/etc/vsftpd/users

Всередині цього каталогу (/ etc / vsftpd / users) у вас є файл конфігурації з тим самим іменем, що і користувач (у вашому випадку $ USER), а всередині цього файлу ви маєте:

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

... де USER - фактична назва (не буквально USER або $ USER).


2
Тут важливим є використання:, user_sub_token=$USERце робить оригінальну конфігурацію плаката функціонуючою, оскільки змінна $ USER отримує корисне значення. Дивіться мій коментар в іншій відповіді.
користувач3450548

5

Ви повинні встановити user_sub_token:

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

2
Приємно, що це справжнє реальне рішення, те, що хотів зробити оригінальний плакат, було фактично застосовно. Ви можете використовувати його і в іншому запропонованому прикладі, але це не потрібно обов'язково включати user_config_dir. Ви можете це зробити чи не змогли, залежно від вашого смаку. Тут важливим user_sub_token=$USERє той факт, що це той, хто наповнює $USERвар чим-небудь корисним всередині конф. Дивіться user_sub_tokenопис на сторінці man: "Цей параметр також впливає, якщо local_root містить user_sub_token."
користувач3450548
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.