在Linux系统中,有三个主要的日志子系统:
连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
more /var/log/secure
who /var/log/wtmp
查看做过什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条
进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP
FTP这样提供网络服务的服务器也保持详细的日志。
什么是syslog?
Linux内核由很多子系统组成:包括网络、文件访问、内存管理等。子系统需要给用户传送一些消息,这些消息内容包括消息的来源及其重要性等。所有的子系统都要把消息传送到一个可以维护的公共消息区,于是就有了syslog。
syslog是一个综合的日志记录系统。它的主要功能是:方便日志管理和分类存放日志。syslog使程序设计者从繁重的、机械的编写日志文件代码的工作中解脱出来,使管理员更好的控制日志的记录过程。syslog能够设置成根据输出信息的程序或重要程度将信息排序到不同的文件中。例如:
由于核心信息更重要,且需要有规律地单独阅读以确定问题出在哪里,所以要把核心信息与其他信息分开来,单独定向到一个分离的文件中。管理员可以通过编写/etc/syslog.conf来配置他们的行为。
syslog的配置文件:
syslogd 的配置文件/etc/syslog.conf 规定了系统中需要监视的事件和相应的日志的保存位置。
# Log all kernel messages to the console.
#Logging much else clutters up the screen.
#kern.* /dev/console
# 将 info 或更高级别的消息送到/var/log/messages,
# 除了 mail/news/authpriv/cron 以外。
# 其中*是通配符,代表任何设备;none 表示不对任何级别的信息进行记录。
*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages
# 将 authpirv 设备的任何级别的信息记录到/var/log/secure文件中,
# 这主要是一些和认证、权限使用相关的信息。
authpriv.* /var/log/secure
# 将 mail 设备中的任何级别的信息记录到/var/log/maillog 文件中, 这主要是和电子邮件相关的信息。
mail.* -/var/log/maillog
# 将 cron 设备中的任何级别的信息记录到/var/log/cron 文件中,
# 这主要是和系统中定期执行的任务相关的信息。
该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。CMD的一个动作是cron派生出一个调度进程的常见情况。REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。该文件可能会查到一些反常的情况。
cron.* /var/log/cron
# 将任何设备的emerg 级别或更高级别的消息发送给所有正在系统上的用户。
*.emerg *
# 将 uucp 和 news 设备的 crit 级别或更高级别的消息记录到/var/log/spooler文件中。
uucp,news.crit /var/log/spooler
# 将和本地系统启动相关的信息记录到/var/log/boot.log文件中。该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。
local7.* /var/log/boot.log
# 将 news 设备的 crit 级别的消息记录到/var/log/news/news.crit 文件中。
news.=crit /var/log/news/news.crit
# 将 news 设备的 err 级别的消息记录到/var/log/news/news.err 文件中。
news.=err /var/log/news/news.err
# 将 news 设备的 notice或更高级别的消息记录到/var/log/news/news.notice 文件中。
news.notice
syslogd 配置 设备.级别 动作
常见的日志文件:
几个跟用户登录相关的日志:
NAME
last, lastb - show listing of last logged in users
SYNOPSIS
last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...] [tty...]
lastb [-R] [-num] [ -n num ] [ -f file ] [-adFiowx] [name...] [tty...]
DESCRIPTION
Last searches back through the file /var/log/wtmp (or the file designated by the -f flag) and displays a
list of all users logged in (and out) since that file was created. Names of users and tty?. can be
given, in which case last will show only those entries matching the arguments. Names of ttys can be
abbreviated, thus last 0 is the same as last tty0.
When last catches a SIGINT signal (generated by the interrupt key, usually control-C) or a SIGQUIT signal
(generated by the quit key, usually control-\), last will show how far it has searched through the file;
in the case of the SIGINT signal last will then terminate.
The pseudo user reboot logs in each time the system is rebooted. Thus last reboot will show a log of all
reboots since the log file was created.
Lastb is the same as last, except that by default it shows a log of the file /var/log/btmp, which con-
tains all the bad login attempts.
更多参考:http://download.csdn.net/detail/changyanmanman/7276543