vsftpd-local_root=/var/www/sites/$USER 未被解释?

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

答案1

您需要使用 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)。

答案2

您必须设置user_sub_token

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

相关内容