浏览量 4544
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。
上一篇 搜索 下一篇