在使用vsftpd过程中,我们会经常发现vsftpd在默认情况下一个用户(无论是系统用户还是虚拟用户)只能拥有一个目录,一般是根目录。如果此时再要向该用户添加其它目录的话,那么就无法直接添加了(在配置用户只能访问自身目录的情况下)。
一开始我想到了软连接的方式,结果是vsftpd不支持软连接,硬链接又不允许将硬链接指向目录。最后想到了mount --bind
目录挂载来实现这个功能
如:
- ftp用户目录:
/data/guoke
- 其他目录:
/data/share
# 创建ftp用户能访问的挂载目录
mkdir /data/guoke/share
# 将/data/share挂载到ftp用户目录中
mount --bind /data/share /data/guoke/share
这里要注意一点的是 /data/share
目录的权限,需要ftp用户有对应读写权限才可以读写。
这样挂载后重启后就失效了,可以写到/etc/rc.local
文件中
vim /etc/rc.local
#在最后添加
mount --bind /data/share /data/guoke/share