vsftpd目前被多数Linux发行版采纳为默认ftp服务器软件,如果使用它做为日常交换文件的工具,则可能需要让用户访问不在ftp主目录下的文件。
然而,很多用户可能已经发现,简单的使用创建软链接的方法并不能达到上述目的,用户会在ftp客户端上得到没有权限的错误。
下面介绍两种可行的方案:
1-使用mount解决
用mount的bind选项可以方便地解决这一问题。如下
mkdir /home/ftp/xml
mount --bind /home/me/xml /home/ftp/xml
这样,用户就可以访问/home/me/xml中的文件了。
提示:
使用mount的bind选项后不针对整个分区进行挂载,而只是使文件夹或单个文件增加一种访问方法。
注意:
对于Fedora等发行版的用户,如果你的系统启用了selinux,可能需要把它关掉。
2-修改vsftpd的配置
在vsftpd.conf中,设置chroot_local_user=NO,这只对使用密码的本地用户有效。对匿名用户是无效的。
这一方法也存在安全隐患,推荐使用第一种方法。