vsftpd – local_root = / var / www / sites / $ USER不会被解释?

当我尝试连接到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 Codename:lucid

你需要使用的是user_config_dir和local_root的组合。 在主configuration文件/etc/vsftpd/vsftp.conf中有一个条目,如:

chroot_local_user=YES user_config_dir=/etc/vsftpd/users 

在该目录(/ etc / vsftpd / users)中,你有一个和用户名相同的configuration文件(在你的情况下为$ USER),在这个文件里你有:

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

…其中USER是实际名称(不是字面上的USER或$ USER)。

您必须设置user_sub_token

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