如何让vsftpd支持中文日志

如何让vsftpd支持中文日志

作为一个ftp管理员,主要工作莫过于对数据的统计分析,及时调整内容。linux下最流行的ftp就是vsftp了,可vsftpd天生有个弱点,不支持中文日志。如果你检查位于/var/log/vsftpd.log就会发现中文目录和文件名变成了一个个的??

   寻了很久都没有找到方法,今日,在一个网页上发现一个朋友找到了办法:直接修改一个源代码文件,就可以直接支持中文日志了。

   但我的系统用的是rpm包安装的,不同于山寨的tar包,很多路径和设置的pam都不同。怎么办呢?我先按高手的方法测试一下,看看

   从internate的角落里搜刮到2.0.5的一个tar.gz包,下载,解压,修改安装后,发现确实管用。日志立刻变成了中文,解决了一个头疼的问 题。但是,每次机器重新启动后都要手动启动vsftp服务,或者去xinie里手工修改。能不能直接利用rpm的源代码包进行修改呢?实践后发现是可以 的。

   首先需要找到rpm的源代码包,我们可以从以下的地方找到:
1、安装光盘包里,在正式购买的rpm包里包含了4张源代码盘,我们可以从中直接将rpm文件拷贝到linux下的临时文件夹里,也可以直接在/mnt/cdrom中执行
rpm -ivh *.src.rpm

src的意思就是源代码

安装后,文件被解压缩到
/usr/src/redhat/SOURCE

进入以后可以发现
有一个vsftp-2.0.3.tar.gz的软件包,将它解压缩
tar -zvxf vsftp-2.0.3.tar.gz

会生成一个vsftp-2.0.3的目录
进入后,用vi编辑logging.c文件找到

str_replace_unprintable(p_str, '?');

注释掉,因为是c语言用//就可以了
//str_replace_unprintable(p_str, '?');

完成了关键的一步,但我们怎么能将它重新生成rpm包呢?
很简单,用tar把vsftp-2.0.3目录打包成vsftp-2.0.3.tar.gz包

回到/usr/src/redhat/SPECS目录下
执行
rpmbuild -dd *.specs


生成的2进制文件

生成的文件在/usr/src/rehat/RPM/i386下

然后用rpm -ivh vsftpd-2.0.3.rpm就可以安装了,省去使用tar包后,手工添加各种服务和协议的麻烦了。

独创方法呀,赫赫。

编译好的,在http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=geninfo&did=4648

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值