linux VSFTP给单用户绑定多个目录

葫芦的运维日志

下一篇 搜索 上一篇

2014/02/01 05:03


搭用了很久的vsftp服务,最近在想如何能给单个用户指定多个目录呢。当发现mount --bind这个命令时问题就迎刃而解了。

mount --bind sourcedir targetdir 将sourcedir 捆绑到了targetdir上。这样当进入targetdir时就相当于进入了sourcedir中。

如需要卸载也很简单 umount targetdir即可。

在了解了mount --bind命令方法后,配合vsftp配置即可实现一个vsftp用户指定多个目录了,而且可以不再同一路径下。

1、创建/etc/vsftp/link/liezi目录。

#mkdir /etc/vsftp/link/liezi

#mkdir /etc/vsftp/link/wangzi

 

2、将创建的目录和你对应的网页目录做捆绑mount --bind,拿本站为例我的网页目录是/var/www/liezi。

#mount --bind /var/www/liezi /etc/vsftpd/link/liezi

#mount --bind /var/www/wangzi /etc/vsftpd/link/wangzi

 

3、配置vsftpd.conf,并创建虚拟用户。

 

在/etc/vsftpd/vftpuser.tx内编辑

admin

password

#db_load -T -t hash -f /etc/vsftpd/vftpuser.tx /etc/vsftpd/vftpuser.db

 

配置vsftpd.conf主配置文件:

# cat /etc/vsftpd/vsftpd.conf | sed -n '/#/!p'

anonymous_enable=NO

local_enable=YES

 

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

listen=YES

guest_enable=YES

guest_username=www

pam_service_name=vsftpd

use_localtime=YES

user_config_dir=/etc/vsftpd/vuser_conf

pasv_enable=yes

 

配置虚拟用户文件liezi:

# cat /etc/vsftpd/vuser_conf/wangzi

local_root=/etc/vsftpd/link/

write_enable=YES

download_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_umask=022

 

4、重启vsftp并验证效果。

成功结束。

到此完美解决了 单vsftp虚拟用户指定多个目录的问题了。

 

完善

 

服务器重启后会发现,所挂载的目录都失效了。

此时只需要将之前的mount --bind命令都泻入到/etc/rc.local里即可。

另外之前考虑过用符号连接解决单个vsftp用户指定多个目录的问题。 系统上配完看着没问题,但是到了用客户端ftp工具时却无法使用。看来ftp现在可能还不支持符号连接的方式。

符号连接命令 ln -s sourcedir targetdir。

葫芦的运维日志

上一篇 搜索 下一篇
© 冰糖葫芦甜(bthlt.com) 2019 王梓 赞助联系方式 陕ICP备17005322号