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