[分享]解决vsftpd乱码(vsftpd-2.0.6)
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
[分享]解决vsftpd乱码(vsftpd-2.0.6)
相信大家都对vsftpd的乱码问题很头疼,这里的补丁包是某位达人编写的,在这里表示非常感谢
源里最新的vsftpd版本是2.0.6的,这里使用了源里提供的源码包进行打补丁
这里有点建议,如果想让自己编译后的vsftpd与源安装没有什么区别的话
最好先安装源中的vsfpd,然后把所有的功能都配置完后,在解决中文乱码问题
因为删除源的vsftpd后它的/init.d/vsftpd与/vsftpd.conf是不会删除的,可以为我们打好铺垫,不然你会发现很无奈的!如果你是直接编译安装,附件给出会给出我的init.d/vsftpd与vsftpd.conf文件,把他们覆盖到/etc下吧!
这里是需要手工编译的,大家不要怕麻烦,其实很简单的
开始做编译的准备工作,准备编译环境需要的库包
sudo apt-get build-dep vsftpd
----------------------------------------
这里使用先安装源里的vsftpd,然后卸载
sudo apt-get install vsftpd
sudo apt-get remove vsftpd
-----------------------------------------
下载附件并解压包
tar -zxvf vsftpd-2.0.6
cd vsftpd-2.0.6
sudo su :使用root用户开始编译
make #编译命令,如果无错误出现,表示成功
make install #安装
如果安装中出现找不到目录的话,就建立那个缺的目录就好了
基本上都会提示缺少/man8和/man5目录的,建立后在重新make install
下边就来测试下效果修改配置文件,加入
charset_filter_enable=YES #开启符过滤
charset_client=GB2312 #客户端字符设置为简体中文
好了现在把服务开启测试下吧
sudo /etc/init.d/vsftpd restart
在win下上传一个中文文件,看看效果吧,然后在把配置文件中关于字符的关掉,重起服务,在看吧
如果有什么问题的话,请回帖留言
已经测试过,服务器ubuntu8.04-server,客户机xp,xp上传后编码正常
补充下会遇到的问题
1:如果使用/etc/init.d/vsftpd restart 没有任何输出的话,请更改/init.d/vsftpd的内容把启动路径该为/usr/local/sbin/vsftpd,因为编译安装首先会优先安装到这个路径
2:如果匿名用户无法登陆,老是提示不允许匿名登陆而配置文件中又设置了允许,请建立目录
sudo mkdir /usr/share/empty 建立后就可以了
3:如果在linux下上传文件,如果工具允许的话,设置为gb2312编码上传,或是尽量用英文
4:因为补丁在一定程度覆盖原程序,所以有2G限制,有时间会去看下源代码的,基本确定是数值溢出问题
如果修复的话,会补充上的
源里最新的vsftpd版本是2.0.6的,这里使用了源里提供的源码包进行打补丁
这里有点建议,如果想让自己编译后的vsftpd与源安装没有什么区别的话
最好先安装源中的vsfpd,然后把所有的功能都配置完后,在解决中文乱码问题
因为删除源的vsftpd后它的/init.d/vsftpd与/vsftpd.conf是不会删除的,可以为我们打好铺垫,不然你会发现很无奈的!如果你是直接编译安装,附件给出会给出我的init.d/vsftpd与vsftpd.conf文件,把他们覆盖到/etc下吧!
这里是需要手工编译的,大家不要怕麻烦,其实很简单的
开始做编译的准备工作,准备编译环境需要的库包
sudo apt-get build-dep vsftpd
----------------------------------------
这里使用先安装源里的vsftpd,然后卸载
sudo apt-get install vsftpd
sudo apt-get remove vsftpd
-----------------------------------------
下载附件并解压包
tar -zxvf vsftpd-2.0.6
cd vsftpd-2.0.6
sudo su :使用root用户开始编译
make #编译命令,如果无错误出现,表示成功
make install #安装
如果安装中出现找不到目录的话,就建立那个缺的目录就好了
基本上都会提示缺少/man8和/man5目录的,建立后在重新make install
下边就来测试下效果修改配置文件,加入
charset_filter_enable=YES #开启符过滤
charset_client=GB2312 #客户端字符设置为简体中文
好了现在把服务开启测试下吧
sudo /etc/init.d/vsftpd restart
在win下上传一个中文文件,看看效果吧,然后在把配置文件中关于字符的关掉,重起服务,在看吧
如果有什么问题的话,请回帖留言
已经测试过,服务器ubuntu8.04-server,客户机xp,xp上传后编码正常
补充下会遇到的问题
1:如果使用/etc/init.d/vsftpd restart 没有任何输出的话,请更改/init.d/vsftpd的内容把启动路径该为/usr/local/sbin/vsftpd,因为编译安装首先会优先安装到这个路径
2:如果匿名用户无法登陆,老是提示不允许匿名登陆而配置文件中又设置了允许,请建立目录
sudo mkdir /usr/share/empty 建立后就可以了
3:如果在linux下上传文件,如果工具允许的话,设置为gb2312编码上传,或是尽量用英文
4:因为补丁在一定程度覆盖原程序,所以有2G限制,有时间会去看下源代码的,基本确定是数值溢出问题
如果修复的话,会补充上的
- 附件
-
- vsftpd-2.0.6.tar.gz
- 集成vsftpd-2.0.6-encoding.patch与vsftpd-syscall.patch补丁的源码包,源码包可以放心使用,包源来自ubuntu.cn99.com
- (172.67 KiB) 已下载 1682 次
-
- vsftpd.tar.gz
- 包含/etc/init.d/vsftpd与/etc/vsftpd.conf
- (1.1 KiB) 已下载 920 次
上次由 angelus 在 2008-08-18 20:19,总共编辑 22 次。
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
理查德-费曼
- haolll230
- 帖子: 77
- 注册时间: 2007-11-02 18:17
- 来自: 广东潮州
- 联系:
-
- 帖子: 8
- 注册时间: 2007-08-19 23:58
-
- 帖子: 441
- 注册时间: 2006-10-26 7:02
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
- jyfish
- 帖子: 203
- 注册时间: 2008-02-08 15:25
- 来自: 海南海口
- 联系:
留记号
海南海口
免费指导安装配置 Ubuntu/Linux
提供刻录 Ubuntu/Linux 光盘
企鹅 139760081
iabuest[A.T]gmail.com
http://www.iabu.net
免费指导安装配置 Ubuntu/Linux
提供刻录 Ubuntu/Linux 光盘
企鹅 139760081
iabuest[A.T]gmail.com
http://www.iabu.net
- Stupid kid
- 帖子: 416
- 注册时间: 2006-10-18 12:57
其实vsftpd嘛,源码安装不是很好吗?utf8总该没有乱码了吧?是在不行,都用e文的算了
http://twitter.com/nothining
Mail: bjdfzster@gmail.com
南京的开源活动几乎是0,希望能有人组织下(也可以拉我入伙^_^)
最近在从零开始学习Linux程序设计,加油……
Mail: bjdfzster@gmail.com
南京的开源活动几乎是0,希望能有人组织下(也可以拉我入伙^_^)
最近在从零开始学习Linux程序设计,加油……
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
-
- 帖子: 335
- 注册时间: 2005-06-12 12:23
还是不行啊
我在804ser下先安装了vsftpd,配置好以后发现有乱码问题,然后就按帖子上说的做
1、sudo apt-get remove vsftpd
2、下载附件中的源码包安装
sudo make
sudo make install
安装的时候提示:
install: cannot create regular file `/usr/local/man/man8/vsftpd.8': No such file or directory
install: cannot create regular file `/usr/local/man/man5/vsftpd.conf.5': No such file or directory
make: *** [install] Error 1
但是我没有建立缺少的那些文件
3、用附件中的vsftpd覆盖/etc/init.d/vsftpd,/etc/vsftpd.conf还用我原来的,内容如下:
listen=YES
max_clients=100
max_per_ip=10
check_shell=NO
anonymous_enable=YES
anon_root=/media/sda7/pub
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
charset_filter_enable=YES
charset_client=GB2312
结果还是老样子,我用cuteftp上传下载都没有乱码现象,但是在XP下查看用cuteftp上传的文件就又是乱码了,在XP中上传文件,直接就是乱码,不知道是我哪里做错了?
1、sudo apt-get remove vsftpd
2、下载附件中的源码包安装
sudo make
sudo make install
安装的时候提示:
install: cannot create regular file `/usr/local/man/man8/vsftpd.8': No such file or directory
install: cannot create regular file `/usr/local/man/man5/vsftpd.conf.5': No such file or directory
make: *** [install] Error 1
但是我没有建立缺少的那些文件
3、用附件中的vsftpd覆盖/etc/init.d/vsftpd,/etc/vsftpd.conf还用我原来的,内容如下:
listen=YES
max_clients=100
max_per_ip=10
check_shell=NO
anonymous_enable=YES
anon_root=/media/sda7/pub
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
charset_filter_enable=YES
charset_client=GB2312
结果还是老样子,我用cuteftp上传下载都没有乱码现象,但是在XP下查看用cuteftp上传的文件就又是乱码了,在XP中上传文件,直接就是乱码,不知道是我哪里做错了?
快乐工作 快乐学习
-
- 帖子: 335
- 注册时间: 2005-06-12 12:23
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
-
- 帖子: 335
- 注册时间: 2005-06-12 12:23
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
-
- 帖子: 335
- 注册时间: 2005-06-12 12:23