vsftpd日志输出中文文件名的解决方法续貂

     默认利用vsftpd自身的日志机制,中文的文件名和文件夹名都不能很好的显示,在日志中直接显示为连续的“??????”

    虽然,Linux主机系统已经设置了系统的环境变量$LANG=en_US.UTF-8,但是,实际上用处不大。在网上搜索博文也是说的乱七八糟,有人说某个解决方案行,有人说回复说试了不行,都没有触及根本。偶有有提示性的文字,说通过系统的syslog日志机制,就可以支持中文日志输出。但是,当时不以为然,觉得似乎过于扯了,如此知名的一个软件,不会对于国际化的支持就这么挫么?

    那就下载源码,根据vsftpd配置文件中的日志相关的关键词在源码搜索对照看看。果不其然,确实如某个博文所说的,vsftpd软件自身的日志不支持中文输出。在vsftpd日志相关代码中,代码利用C库函数判断字符非可显示的之后,就对于不可显示字符主动转化为“?”。这也就是在ftp日志中系统中的文件名的中文信息被输出成连续?的原因。 C库的函数,估计也就支持ASCII字符集的判断罢了,其它也不要多想了。

   既然vsftpd代码中写死了不支持超ASCII可显示字符的显示,个人又不想修改源代码,重新编译后安装,让其支持国际化。那么,就只好扬长避短,利用vsftpd自身也支持的、向syslog输出日志机制,通过系统级日志服务syslog进行中转。通过实验,这个网上建议的招数,确实是可行!但,估计您也必须设置系统的字符集设置为“utf-8”,这样才可以让数据流贯穿下去;或至少设置为"GBK"或“GB2312”之类,但建议还是以设置为“utf-8”为优。可以测试,在终端窗口中利用ls命令,列举下中文文件看是否可以正常显示;如果可以正常显示,那么在vsftpd日志中支持中文将是确定的事情。

  源码之下无秘密,有感于网上没有说清楚为什么vsftpd自身日志不支持中文,所以,就继续狗尾续貂。

  至于为什么vsftpd的软件作者没有让日志支持国际化,最开始也不甚理解,后来随着工作中涉及一些安全设计,我开始理解了......。vsftpd一开始就标榜自己有多安全,那么多一事不如少一事,而且Linux系统自身的syslog日志也能支持起来,何乐而不“不为”呢?

 

vsftpd 是一个流行的 FTP 服务器程序,它提供了强大的安全性和性能。vsftpd日志文件记录了 FTP 服务器的活动,包括用户登录、文件上传和下载等操作,可以帮助管理员进行故障排除和安全审计。 vsftpd日志文件默认存储在 /var/log/vsftpd.log 文件中,可以使用以下命令查看该文件的内容: ``` sudo tail -f /var/log/vsftpd.log ``` 该命令将实时显示最后几行日志文件的内容。如果需要查看整个文件,可以使用以下命令: ``` sudo less /var/log/vsftpd.log ``` 该命令将打开一个分页器,允许您浏览整个日志文件。您也可以使用其他文本编辑器,如 vim 或 nano,来查看和编辑日志文件。 在日志文件中,每条记录通常包含时间戳、FTP 命令、用户和 IP 地址等信息。以下是一个示例日志记录: ``` Thu Jun 24 10:35:23 2021 [pid 12345] CONNECT: Client "192.168.1.1" Thu Jun 24 10:35:23 2021 [pid 12345] FTP response: Client "192.168.1.1", "220 Welcome to my FTP server" Thu Jun 24 10:35:23 2021 [pid 12345] FTP command: Client "192.168.1.1", "USER john" Thu Jun 24 10:35:23 2021 [pid 12345] FTP response: Client "192.168.1.1", "331 Please specify the password." Thu Jun 24 10:35:23 2021 [pid 12345] FTP command: Client "192.168.1.1", "PASS <password>" Thu Jun 24 10:35:23 2021 [pid 12345] FTP response: Client "192.168.1.1", "230 Login successful." Thu Jun 24 10:35:23 2021 [pid 12345] FTP command: Client "192.168.1.1", "SYST" Thu Jun 24 10:35:23 2021 [pid 12345] FTP response: Client "192.168.1.1", "215 UNIX Type: L8" ``` 这里的记录显示了一个用户通过 FTP 客户端连接到服务器,并执行“USER”、“PASS”和“SYST”等命令。管理员可以使用这些信息来诊断 FTP 服务器的问题,并查看用户的活动。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值