centos6.3下vsftp乱码解决

vsftp乱码一直是一个比较纠结的问题,今天采用了一种曲线救国的方式进行解决。主要是利用fuse和fuse-convmvfs,如下:

下载fuse-2.9.1.tar.gz和fuse-convmvfs-0.2.6.tar.gz解压后放于/usr/local/src

安装fuse

[root@server1 ~]# cd fuse-2.9.1
[root@server1 ~]# ./configure --prefix=/usr/lib/java/fuse --mandir=/usr/share/man
[root@server1 ~]# make && make install
[root@server1 ~]# echo "/opt/fuse/lib" >> /etc/ld.so.conf      #导入fuse类库
[root@server1 ~]# ldconfig                                                     #导入fuse类库
[root@server1 ~]# modprobe fuse                                         #加载fuse模块

安装fuse-convmvfs

[root@server1 ~]# cd fuse-convmvfs-0.2.6
[root@server1 ~]# ./configure --prefix=/usr/lib/java/fuse-convmvfs --mandir=/usr/share/man
[root@server1 ~]# make && make install

 安装完毕,此时并可以使用/usr/lib/java/fuse-convmvfs/bin/convmvfs命令了

执行如下语句:

convmvfs /var/ftp/pub_gbk -o srcdir=/var/ftp/pub,icharset=utf8,ocharset=gbk

那么访问/ftp/pub_gbk的时候文件名就都是GBK的了,windows下也就不会有乱码。(本人ftp根目录为/var/ftp)

如果不想看到pub目录,那么只需要在/etc/vsftpd/vsftpd.conf文件中设置

anon_root=/var/ftp/pub
local_root=/var/ftp/pub

即将根目录定位到pub了,此时乱码问题解决。

同时需要注意的是,我们在服务器端上传文件时需要将文件上传到/var/ftp/pub_gbk文件夹下,而在客户端访问的是pub_gbk文件夹中在pub文件夹下的映像。

猜你喜欢

转载自songdaijian.iteye.com/blog/1648061