RedHat Linux常见的日志文件详述如下
◆/var/log/boot.log
该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。
◆/var/log/cron
该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。
CMD的一个动作是cron派生出一个调度进程的常见情况。
REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。
RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。
该文件可能会查到一些反常的情况。
◆/var/log/maillog
该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。
它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。
该文件的格式是每一行包含日期、主机名、程序名,后面是包含PID或内核标识的方括号、一个冒号和一个空格,最后是消息。
该文件有一个不足,就是被记录的入侵企图和成功的入侵事件,被淹没在大量的正常进程的记录中。
但该文件可以由/etc/syslog文件进行定制。
由/etc/syslog.conf配置文件决定系统如何写入/var/messages。
有关如何配置/etc/syslog.conf文件决定系统日志记录的行为,将在后面详细叙述。
◆/var/log/syslog
默认RedHat Linux不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。
它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。
要让系统生成该日志文件,在/etc/syslog.conf文件中加上:*.warning /var/log/syslog 该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。
该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。
在每次用户登录时被查询,该文件是二进制文件,需要使用lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。
如果某用户从来没有登录过,就显示为"**Never logged in**"。
该命令只能以root权限执行。
系统账户诸如bin、daemon、adm、uucp、mail等决不应该登录,如果发现这些账户已经登录,就说明系统可能已经被入侵了。
若发现记录的时间不是用户上次登录的时间,则说明该用户的账户已经泄密了。
◆/var/log/wtmp
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。
因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。
该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端 tty或时间显示相应的记录。
命令last有两个可选参数:
last -u 用户名 显示用户上次登录的情况。
last -t 天数 显示指定天数之前的用户登录情况。
◆/var/run/utmp
该日志文件记录有关当前登录的每个用户的信息。
因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。
系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。
该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。
以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。
这些文件的所有记录都包含了时间戳。
这些文件是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。
其中,utmp和wtmp文件的数据结构是一样的,而lastlog文件则使用另外的数据结构,关于它们的具体的数据结构可以使用man命令查询。
每次有一个用户登录时,login程序在文件lastlog中查看用户的UID。
如果存在,则把用户上次登录、注销时间和主机名写到标准输出中,然后login程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。
该记录一直用到用户登录退出时删除。
utmp文件被各种命令使用,包括who、w、users和finger。
下一步,login程序打开文件wtmp附加用户的utmp记录。
当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。
wtmp文件被程序last使用。
◆/var/log/xferlog
该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件。
该文件会显示用户拷贝到服务器上的用来入侵服务器的恶意程序,以及该用户拷贝了哪些文件供他使用。
该文件的格式为:第一个域是日期和时间,第二个域是下载文件所花费的秒数、远程系统名称、文件大小、本地路径名、传输类型(a:ASCII,b:二进制)、与压缩相关的标志或tar,或"_"(如果没有压缩的话)、传输方向(相对于服务器而言:i代表进,o代表出)、访问模式(a:匿名,g:输入口令,r:真实用户)、用户名、服务名(通常是ftp)、认证方法(l:RFC931,或0),认证用户的ID或"*"。
RedHat Linux默认没有记录该日志文件。
要启用该日志文件,必须在/etc/syslog.conf文件中添加一行:kern.* /var/log/kernlog 。
这样就启用了向/var/log/kernlog文件中记录所有内核消息的功能。
该文件记录了系统启动时加载设备或使用设备的情况。
一般是正常的 *** 作,但如果记录了没有授权的用户进行的这些 *** 作,就要注意,因为有可能这就是恶意用户的行为。
该日志文件记录了X-Window启动的情况。
另外,除了/var/log/外,恶意用户也可能在别的地方留下痕迹,应该注意以下几个地方:root和其他账户的shell历史文件;用户的各种邮箱,如.sent、mbox,以及存放在/var/spool/mail/ 和 /var/spool/mqueue中的邮箱;临时文件/tmp、/usr/tmp、/var/tmp;隐藏的目录;其他恶意用户创建的文件,通常是以"."开头的具有隐藏属性的文件等。
日志:系统、软件 和 用户 *** 作交互信息的记录文件。用于系统审核,日常故障快速定位和排错。
日志文件保存在 /var/log 和 /var/run 目录下。在 RedHat 7 中,系统日志消息由两个服务负责处理,它们是 systemd-journald 和 rsyslogd。
日志的保存时间系统默认是4周,可以通过 cat /etc/logrotate.conf 里面的一项参数查到。rotate 可以修改。
主要日志文件介绍:
/var/log/messages:系统日志,主要记录内核和公共消息。
/var/log/cron:计划执行任务日志。
/var/log/dmesg:系统引导日志。
/var/log/maillog:邮件日志。
/var/log/lastlog:用户登录日志。(用 lastlog 命令)
/var/log/boot.log:系统启动日志。
/var/log/secure:安全和身份验证日志 。
/var/log/wtmp:记录所有用户登录的详细信息。(用 last 命令)
/var/log/btmp:记录失败的登录记录(用 lastb 命令)
/var/run/utmp:用户登录、注销及系统开、关等事件。(用 w / who 命令)
(wtmp、btmp 和 utmp 是二进制文件,不能用cat、vi、tail、more这些命令打开查看)
1、/var/log/messages:系统日志,主要记录内核和公共消息。
1)、messages 信息项包括:事件发生的日期和时间、主机,终端名、进程 和 事件日志。
2)、红色下划线:systemctl restart sshd 重启 sshd 服务。
黄色下划线:tail /var/log/messages 查看 messages 日志。
蓝色方框:messages 日志已经可以查到重启 sshd 服务的记录。
绿色下划线:每个动作都记录得很清楚。暂停中(Stopping)、已暂停(Stopped)、启动中(Starting) 和 已启动(Started)
2、/var/log/cron:计划执行任务日志。
1)、cron 信息项包括:事件发生的日期和时间、主机,终端名、进程 和 事件日志。
2)、cron 保存的是计划任务的日志,我们也可以通过特定输出查看计划进程的一些规律。从中也可以梳理一下计划任务的概念。好像 run-parts(/etc/cron.hourly) 进程,基本都是从开机开始,整点 1 个小时就执行一次。一次由两个事件为一组,一条 starting 0anacron ,另一条 finished 0anacron。
输入 grep run-parts'('/etc/cron.hourly')' 的时候,()括号需要用单引号引起来。
CROND进程,基本上也是从开机开始,整点 1 个小时就执行一次。
run-parts(/etc/cron.daily) 进程每天开机执行一次。一次由四个事件为一组,四个事件里面有两个事件是对应关系。starting man-db.cron 对应 finished man-db.cron,starting logrotate 对应 finished logrotate。
从 cron 日志知道系统的计划任务什么时候触发,执行了什么事件,产生了什么信息。
3、/var/log/dmesg:系统引导日志,显示硬件相关的信息。
head -20 dmesg | nl 列出开头 20 行信息。
4、/var/log/maillog:邮件日志。
红色下划线:tail maillog 查看 maillog 后 10 行信息。
黄色下划线:starting the Postfix mail system 启动 Postfix 邮件系统。daemon started 守护进程启动完成。
maillog 记录的信息都是和邮件有关。
5、/var/log/lastlog:记录所有用户登录最后一次登录本系统的时间信息。用 lastlog 读取信息。lastlog 的几列内容:Username(用户名)、Port(端口)、From(登录IP)、Latest(最后登录时间)。
系统用户是调用系统当中一些特殊服务的用户,不能登录系统(所以它们的登录状态都是显示“**Never logged in**”从来没有登录)。能够登录系统的只有 root 和 新建的普通用户。
6、/var/log/boot.log:系统启动日志。
head /var/log/boot.log 列出头 10 条系统启动的信息(内容较长,里面记录了多次启动的信息)。
通过 3 次的重启,查看 boot.log 大小。每重启一次文件的容量就会增大。也证明了每次启动都会往 boot.log 这个文件写信息。
7、/var/log/secure:安全和身份验证日志 。
tail secure 列出 secure 文件最后 10 行信息。通过 secure 的信息可以发现记录的是安全相关的信息,记录最多的是哪些用户登录服务器的相关日志。
黄色下划线:Failed password for root —— root 的密码错误。
红色下划线:Accepted password for root —— 密码正确,root 用户接受的密码。
绿色下划线:pam_unix(sshd:session): session opened for user root —— 为 root 用户建立会话。
8、/var/log/wtmp:记录所有用户登录的详细信息。一个二进制文件,不能用cat、vi、tail、more这些命令打开查看。用 last 命令查看。last 作用是显示近期用户或终端登录的情况(包括:登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,)
last -n 10 —— -n 跟一个数字,指定显示最近登录的数据。(或者 last -10 一样效果)
显示的内容有六列:
第一列:用户名。
第二列:终端位置。(pts/0 伪终端,SSH 或 telnet 等工具远程连接的用户,tty0 直接连接到计算机或本地连接的用户,后面的数字代表连接编号)。
第三列:登录 IP 或 内核。(如果是 0.0 或者 什么都没有,意味着用户通过本地终端连接,除了启动活动,内核版本会显示在状态中)。
第四列:开始时间。
第五列:结束时间。(still、login in 尚未推出,down 直到正常关机,crash 直到强制关机)。
第六列:持续时间。
9、/var/log/btmp:记录失败的登录记录,主要查看错误的登录信息。一个二进制文件,不能用cat、vi、tail、more这些命令打开查看。用 lastb 命令查看。
lastb -n 10 —— -n 跟一个数字,指定显示最近登录的数据。(或者 lastb -10 一样效果)
显示的内容有六列:
第一列:用户名。
第二列:终端位置。(连接失败:notty)。
第三列:登录 IP。
第四列:开始时间。
第五列:结束时间。
第六列:持续时间。
10、/var/run/utmp:用户登录、注销及系统开、关等事件。一个二进制文件,不能用cat、vi、tail、more这些命令打开查看。用 w / who 命令查看。
w 命令:查看登录者的信息及行为。
第一行:系统当前时间、系统没有中断持续性的运行时间、当前登录用户数、CPU在之前 1 分钟、5分钟、15分钟的平均负载。
USER: 登录用户名。
TTY:登录后系统分配的终端号。(tty:物理机本机终端、pts:远程终端)
FROM:远程主机名 IP。(tty 物理机本机不显示、pts 远程终端会显示 IP)
LOGIN@ :登录时间。
IDLE:用户闲置时间 。这是个计时器,用户执行任何 *** 作,计时器就会被重置。(这里显示的时间是距离上次命令 *** 作后多久没有进行 *** 作的闲置时间)
JCPU:执行命令进程所消耗的总时间。 终端连接的所有进程占用时间,包括当前正在运行作业占用的时间。
PCPU:当前进程所消耗 CPU 的时间。
WHAT:用户正在运行的进程 或 命令。(-bash 进程是终端进程)
who 命令:显示关于当前在本地系统上的所有用户信息。who 和 w 差不多,who 显示的内容更为简洁。who 命令显示以下内容:登录名、tty、登录日期 和 时间。如果用户是从远程终端登录的,那么该终端的 IP 也会显示出来。
11、whoami:显示自己的登录用户。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)