- 登录档的重要性
- 解决系统方面的错误:
- 解决网络服务的问题;
- 过往事件记录簿:
- Linux 常见的登录档档名
- /var/log/cron:
- 你的 crontab 排程有没有实际被进行? 进行过程有没有发生错误?你的 /etc/crontab 是否撰写正确?在这个登录档内查询看看。
- /var/log/dmesg:
- 记录系统在开机的时候核心侦测过程所产生的各项信息。由于 CentOS 默认将开机时核心的硬件侦测过程取消显示, 因此额外将数据记录一份在这个档案中
- /var/log/lastlog:
- 可以记录系统上面所有的账号最近一次登入系统时的相关信息。第十四章讲到的 lastlog 指令就是利用这个档案的记录信息来显示的。
- /var/log/maillog 或 /var/log/mail/*:
- 记录邮件的往来信息,其实主要是记录 sendmail (SMTP 协议提供者) 与 dovecot (POP3 协议提供者)所产生的讯息啦。 SMTP 是发信所使用的通讯协议, POP3 则是收信使用的通讯协议。 sendmail 与dovecot 则分别是两套达成通讯协议的软件。
- /var/log/messages:
- 这个档案相当的重要,几乎系统发生的错误讯息 (或者是重要的信息) 都会记录在这个档案中; 如果系统发生莫名的错误时,这个档案是一定要查阅的登录档之一。
- /var/log/secure:
- 基本上,叧要牵涉到『需要输入账号密码』的软件,那么当登入时 (不管登入正确或错误) 都会被记录在此档案中。 包括系统的 login 程序、图形接口登入所使用的 gdm 程序、 su, sudo 等程序、还有网络联机的 ssh, telnet 等程序, 登入信息都会被记载在这里;
- /var/log/wtmp, /var/log/faillog:
- 这两个档案可以记录正确登入系统者的帐户信息 (wtmp) 与错误登入时所使用的帐户信息 (faillog) !我们在第十一章谈到的 last 就是读取 wtmp 来显示的, 这对于追踪一般账号者的使用行为很有帮助!
- /var/log/httpd/*, /var/log/news/*, /var/log/samba/*:
- 不同的网络服务会使用它们自己的登录档案来记载它们自己产生的各项讯息!上述的目录内则是个别服务所制订的登录档。
- 登录档所需相关服务 (daemon) 与程序
- 登录档所需的服务主要就是 syslogd 与 klogd 这两者
- 登录档内容的一般格式
- 事件发生的日期与时间;
- 发生此事件的主机名;
- 启动此事件的服务名称 (如 samba, xinetd 等) 或函式名称 (如 libpam ..);
- 该讯息的实际数据内容。
- syslog 的配置文件:/etc/rsyslog.conf ---------centos 6.5
- 这个档案规定了『(1)什么服务 (2)的什么等级讯息 (3)需要被记录在哪里(装置或档案)』 这三个咚咚,
- 语法:服务名称[.=!]讯息等级 讯息记录的文件名或装置或主机
- 讯息等级说明:
-
-
等级 等级名称 说明 1 info 仅是一些基本的讯息说明而已; 2 notice 比 info 还需要被注意到的一些信息内容; 3 warning(warn) 警示的讯息,可能有问题,但是还不至于影响到某个 daemon 运作的信息;基本上, info, notice, warn 这三个讯息都是在告知一些基本信息而已,应该还不至于造成一些系统运作困扰; 4 err(error) 一些重大的错误讯息,例如配置文件的某些设定值造成该服务朋法启动的信息说明, 通常藉由 err 的错误告知,应该可以了解到该服务无法启动的问题呢! 5 crit 比 error 还要严重的错误信息,这个 crit 是临界点 (critical) 的缩写,这个错误已经很严重了喔! 6 alert 警告警告,已经很有问题的等级,比 crit 还要严重! 7 emerg(panic) 疼痛等级,意指系统已经几乎要当机的状态! 很严重的错误信息了。通常大概指有硬件出问题,导致整个核心无法顺利运作,就会出现这样的等级的讯息吧!
-
-
- 讯息等级之前还有 [.=!] 的链接符号喔!他代表的意思是这样的:
- . :代表『比后面还要高的等级 (含该等级) 都被记录下来』的意思,
- .=:代表所需要的等级就是后面接的等级而已, 其他的不要!
- .!:代表不等于, 亦即是除了该等级外的其他等级都记录。
- 讯息记录的文件名或装置或主机
- 档案的绝对路径:通常就是放在 /var/log 里头的档案啦!
- 打印机或其他:例如 /dev/lp0 这个打印机装置
- 使用者名称:显示给用户啰!
- 进程主机:例如 @www.vbird.tsai 当然啦,要对方主机也能支持才行!
- *:代表『目前在在线的所有人』,类似 wall 这个指令的意义!
- 自行增加登录文件档案功能
- 1. 先设定好所要建立的档案设置!
- vim /etc/syslog.conf
- *.info /var/log/admin.log <==有用的是这行啦!
- 2. 重新启动 syslog 呢!
- /etc/init.d/rsyslog restart
- 1. 先设定好所要建立的档案设置!
- 登录档的安全性设置
- 增加你的登录文件的隐藏属性
- chattr +a /var/log/messages 增加属性,只能增加与能被删除
- chattr -a /var/log/messages 减去-a属性
- lsattr /var/log/messages 查看隐藏属性
- 你不小心 "手动" 更动过登录档后,例如那个 /var/log/messages , 你不小心用vi 开启他,离开却下达 :wq 的参数,呵呵!那么该档案未来将不会再继续进行登录动作!要让该登录档可以继续写入,你叧要重新启动syslog (/etc/init.d/syslog restart) 即可
- 增加你的登录文件的隐藏属性
- 登录档服务器的设定
- 服务器端的配置
- vim /etc/sysconfig/rsyslog------------centos 6.5 无需在此配置文件做更改,
- SYSLOGD_OPTIONS="-m 0 -r" 仅在/etc/rsyslod.conf里面将端口监听打开
- 客户端的配置
- vim /etc/rsyslog.conf
- *.* @192.168.1.100 TCP 为 @@
- 服务器端的配置
- 登录档的轮替(logrotate)
- 『syslog 利用的是 daemon 的方式来启动的, 当有需求的时候立刻就会被执行的,但是 logrotate却是在规定的时间到了之后才来进行登录档的轮替, 所以这个 logrotate 程序当然就是挂在 cron 底下进行的呦!』
- logrotate 的配置文件
- /etc/logrotate.conf
- /etc/logrotate.d/
- vim /etc/logrotate.conf
- weekly <==预设每个礼拜对登录档进行一次 rotate 的工作
- rotate 4 <==保留几个登录档呢?预设是保留四个!
- create <==由于登录档被更名,因此建立一个新的来继续储存之意!
- #compress <==被更动的登录档是否需要压缩?如果登录档太大则可考虑此参数启动
- include /etc/logrotate.d
- # 将 /etc/logrotate.d/ 这个目录中的所有档案都读进来执行 rotate 的工作!
- /var/log/wtmp { <==仅针对 /var/log/wtmp 所设定的参数
- monthly <==每个月一次,取代每周!
- minsize 1M <==档案容量一定要赸过 1M 后才进行 rotate (略过时间参数)
- create 0664 root utmp <==指定新建档案的权限与所属账号/群组
- rotate 1 <==仅保留一个,亦即仅有 wtmp.1 保留而已。
- vi /etc/logrotate.d/syslog
- 语法解释:
- 档名:被处理的登录文件绝对路径文件名写在前面,可以使用空格符分隔多个登录档;
- 参数:上述档名进行轮替的参数使用 { } 包括起来;
- 执行脚本:可呼叫外部指令来进行额外的命令下达,这个设定需与
- sharedscripts .... endscript 设定启用才行。至于可用的环境为:
- prerotate:在启动 logrotate 之前进行的指令,例如修改登录文件的属性等动作;
- postrotate:在做完 logrotate 之后启动的指令,例如重新启动 (kill -HUP) 某个服务!
- Prerotate 与 postrotate 对于已加上特殊属性的档案处理上面,是相当重要的执行程序!
- 语法解释:
- 有隐藏属性的登录档轮替实例:
- vi /etc/logrotate.d/syslog 添加以下内容:
- sharedscripts
- prerotate
- /usr/bin/chattr -a /var/log/messages
- endscript
- sharedscripts
- postrotate
- /usr/bin/killall -HUP syslogd
- /usr/bin/chattr +a /var/log/messages
- endscript
- 实际测试 logrotate 的动作
- logrotate [-vf] logfile
- -v :启动显示模式,会显示 logrotate 运作的过程喔!
- -f :不论是否符合配置文件的数据,强制每个登录档都进行 rotate 的动作!
- logrotate [-vf] logfile
时间: 2024-10-16 05:18:39