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