星期二, 二月 27, 2007

vsftpd 为不同用户进行不同设置

当需要对 vsftpd 的不同用户进行不同设置时,比如 web 站点使用 httpd 帐户登录,其 DocumentRoot 为 /data/httpd,而另外有一个 sample 帐号,目录为 /home/backup/shopex。对 httpd,进行了设置:
local_root=/data/httpd
则当以 sample 帐号登录时,也会进入 /data/httpd 而不是希望的 /home/backup/shopex。这时可以利用 vsftpd 的 user_config_dir 参数:
sh$ vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/users
sh$ vi /etc/vsftpd/users/sample
local_root=/home/backup/shopex # 只需增加一条

即可。

参考:official vsftpd FAQ

注意,你可能需要再为匿名用户(ftp)创建一个配置文件:/etc/vsftpd/users/ftp:
local_root=/var/ftp
否则登录时会显示错误:
Login failed: 500 OOPS: reading non-root config file

没有评论: