客服中心
ServiceTel:021-88888888
Fax:020-77777777
Web:www.worldidc.com
Mail:web@worldidc.com
Add:RM 505, Yongda International Building, No. 3366 Longyang Rd., Pudong New Area, Shanghai
1、syslog中产生ftp日志的原理
仔细的研究了这个问题,发现syslog中产生ftp日志的原理是这样的,ftpd进程在有连接进来时,ftpd会调用syslog()函数,把ftp logon记录发给syslogd,syslogd按照/etc/syslog.conf的配置,以决定相应的ftp logon记录是否写到syslog日志中。
基于以上原因,解决方法也自然有两种,一是记ftpd进程不产生logon记录,二是调整/etc/syslog.conf,让它把ftp logon记录丢弃掉。
2、偿试让ftpd不产生logon记录的方法
打开/etc/inetd.conf有如下一行:
ftp stream tcp6 nowait root /usr/lbin/ftpd ftpd -l
可见ftpd守护进程启动时是加-l选项的,-l选项的作用是把每一个ftp会话记录在syslog文件中,因此偿试去掉-l选项,并用如下命令让inetd守护进程重载一下配置
# /usr/sbin/inetd -c
如此方法有的机器是好用的,有的机器会有如下情况。
FTP server (Revision 1.1 Version wuftpd-2.6.1(PHNE_32286) Fri Apr 15 17:35:12 GMT 2005) ready.
FTP LOGIN FROM 130.97.1.12 [130.97.1.12], cj
FTP session closed
上面的三行,因系统打了PHNE_32286这个补丁,第一行仍旧是存在的,因此这样的机器问题依旧没根本解决。
3、偿试/etc/syslog.conf的配置的方法
3.1 syslogd在启动时会加载/etc/syslog.conf这个文件来调整其行为。
默认情况,syslog.conf是如下这样的:
# @(#)B11.23_LR
#
# syslogd configuration file.
#
# See syslogd(1M) for information about the format of this file.
#
mail.debug /var/adm/syslog/mail.log
*.info;mail.none /var/adm/syslog/syslog.log
*.alert /dev/console
*.alert root
*.emerg *
第一列表示的是什么样的message,第二列表示要记录在哪
从syslog.conf可以看到*.info;mail.none这样的信息记录在syslog日志中
以mail.none来解释,mail表示的是message的类别,none表示的是级别(level)
*.info;mail.none表示的即为所有系统定义类别扣除掉mail类别的information级别的信息都记录在syslog日志中。
3.2 类别及级别都有哪些
系统定义的类别如下:
KERN /* kernel messages */
USER /* random user-level messages */
MAIL /* mail system */
DAEMON /* system daemons */
AUTH /* security/authorization messages */
SYSLOG /* messages generated internally by syslogd */
LPR /* line printer subsystem */
相应的级别:
EMERG 0 /* system is unusable */
ALERT 1 /* action must be taken immediately */
CRIT 2 /* critical conditions */
ERR 3 /* error conditions */
WARNING 4 /* warning conditions */
NOTICE 5 /* normal but signification condition */
INFO 6 /* informational */
DEBUG 7 /* debug-level messages */
DEBUG产生的信息最多,级别越低生成的信息越少。
3.3 调整/etc/syslog.conf文件
把*.info;mail.none改成*.notice;mail.none
即把info这个级别调整到其的次一级别notice,ftp日志就不在syslog中产生了
改后的syslog.conf文件:
# @(#)B11.23_LR
#
# syslogd configuration file.
#
# See syslogd(1M) for information about the format of this file.
#
mail.debug /var/adm/syslog/mail.log
*.notice;mail.none /var/adm/syslog/syslog.log
*.alert /dev/console
*.alert root
*.emerg *
3.4 重启一下syslogd守护进程问题解决。
#/sbin/init.d/syslogd stop