首页 > 代码库 > Linux 常见的登录档档名
Linux 常见的登录档档名
登录文件可以帮助我们了解很多系统重要的事件,包括登入者的部分信息,因此登录文件的权限通常是设定为仅有 root 能够读取而已。 而由于登录文件可以记载系统这么多的详细信息,所以啦,一个有经验的主机管理员会随时随地查阅一下自己的登录档, 以随时掌握系统的最新脉动!那么常见的几个登录档有哪些呢?一般而言,有下面几个:
??/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/*: 不同的网络服务会使用它们自己的登录档案来记载它们自己产生的各项讯息!上述的目录内则是个别服务所制订的登录档。
常见的登录档就是这几个,但是不同的 Linux distributions ,通常登录档的档名不会相同 (除了/var/log/messages 之外 )。所以说,你还是得要查阅你 Linux 主机上面的登录文件设定数据, 才能知道你的登录档主要档名喔!
登录档所需相关服务 (daemon) 与程序
总结一下,针对登录文件所需的功能,我们需要的服务与程序有:
? syslogd:主要登录系统与网络等服务的讯息;
? klogd:主要登录核心产生的各项信息;
? logrotate:主要在进行登录文件的轮替功能。
有很多登录档都值得查阅,尤其是/var/log/messages的内容。一个好的系统管理员, 要常常去『巡视』登录档的内容喔!尤其是发生底下几种情况时:
? 当你觉得系统似乎不太正常时;
? 某个 daemon 老是无法正常启动时;
? 某个使用者老是无法登入时;
? 某个 demon 执行过程老是不顺畅时;
syslogd :记录登录文件的服务
刚刚提到说 Linux 的登录档主要是由 syslogd 在负责,一般来说,系统产生的讯息经过 syslog 而记录下来的数据中,每条讯息均会记录底下的几个重要数据:
? 事件发生的日期与时间;
? 发生此事件的主机名;
? 启动此事件的服务名称 (如 samba, xinetd 等) 或函式名称 (如 libpam ..);
? 该讯息的实际数据内容。
当然,这些信息的『详细度』是可以修改的,而且,这些信息可以作为系统除错只用呢! 我们拿登录时一定会记载帐户信息的 /var/log/secure 为例
syslog 的配置文件:/etc/syslog.conf
该配置文件是syslogd 这个 daemon 的配置文件!基本上, syslog 针对各种服务与讯息记录在某些档案的配置文件就是 /etc/syslog.conf, 这个档案规定了『(1)什么服务(2)什么等级讯息(3)需要被记录在哪里(装置或档案)』这三个咚咚,所以设定语法是这样的: