web-dev-qa-db-ja.com

vsftpd-local_root = / var / www / sites / $ USERが解釈されませんか?

FTPサーバーに接続しようとすると、次のメッセージが表示されます。"500 OOPS:ディレクトリを変更できません:/ home/$ USER/public_html"

  • $ USERをエコーすると、適切なユーザー名が得られます
  • $ USERが私の/etc/vsftpd.conf内で解釈されていないようです
  • 「local_root =/var/www/sites/$ USER」を削除すると、すべてがスムーズに機能します。

Vsftpd 2.2.2およびUbuntu 10.04.1 LTSリリース:10.04を実行していますコード名:lucid

11
Pawel

使用する必要があるのは、user_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ではありません)。

21
user15590

user_sub_tokenを設定する必要があります:

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