日志与审核

系统日志:

日志类型及存储位置?

Linux常见的日志文件如下:

1、/var/log/boot.log(自检过程)

2、/var/log/cron (crontab守护进程crond所派生的子进程的动作)

3、/var/log/maillog(发送到系统或从系统发出的电子邮件的活动)

4、/var/log/syslog(它只记录警告信息,常常是系统出问题的信息,所以更应该关注改文件)

     要让系统生成syslog日志文件,在/etc/syslog.conf文件中加上: *.waming /var/log/syslog

     该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息

5、/var/run/utmp(该日志文件需要使用lastlog命令查看)

6、/var/log/wtmp(该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件)

7、/var/run/utmp(该日志文件记录有关当前登录的每个用户的信息)

8、/var/log/xferlog(该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件)

详见

如何查看日志?有哪些工具,如何使用?

1、tail(用来查看文件的内容,如果值前面没有+或-,那么从文件末尾指定的单元号开始读取文件)

参数: 
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 
参数解释: 
-f 该参数用于监视File文件增长。 
-c Number 从 Number 字节位置读取指定文件 
-n Number 从 Number 行位置读取指定文件。 
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。 
-b Number 从 Number 表示的512字节块位置读取指定文件。 
-k Number 从 Number 表示的1KB块位置读取指定文件。 
File 指定操作的目标文件名称 
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。 
tail可运行文件一般在/usr/bin/以下。 
实例:  
1、tail -f filename  
说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。  

2、tail -n 20 filename  
说明:显示filename最后20行。  

3、tail -r -n 10 filename  
说明:逆序显示filename最后10行。

2、head(head命令和tail命令就像他的名字一样浅显易懂,它是用来显示开头或者结尾某个数量的文字区块,head用来显示档案的开头至标准输出当中)

参数:  -q 隐藏文件名

            -v 显示文件名

            -c 显示字节数

            -n 显示的行数

3、sed(本身就是一个管道命令,主要是以行为单位进行处理,可以将数据进行替换、删除、新增、选取等特定工作)

参数:  -n 使用安静(silent)模式。在一般的sed的用法中,所有来自STDIN的资料一般会被列出到荧幕上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来

            -p 列印,亦即将某个选择的资料印出。通常p会与参数sed-n一起运作

            -s 取代,可以直接进行取代的工作,通常这个s的动作可以搭配正规表示法

4、cat

cat主要有三大功能:  
1.一次显示整个文件。$ cat filename  
2.从键盘创建一个文件。$ cat > filename   
  只能创建新文件,不能编辑已有文件.  
3.将几个文件合并为一个文件: $cat file1 file2 > file  

参数:  
-n 或 --number 由 1 开始对所有输出的行数编号  
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号  
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行  
-v 或 --show-nonprinting 
-E, –show-ends 在每行结束处显示 $
-e 等价于-vE
例:  
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里  
cat -n textfile1 > textfile2  

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。  
cat -b textfile1 textfile2 >> textfile3  

把test.txt文件扔进垃圾箱,赋空值test.txt  
cat /dev/null > /etc/test.txt   
注意:>意思是创建,>>是追加。千万不要弄混了。

5、grep(Global Regular Expression Print  一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。)

grep [options]  
主要参数:  
[options]主要参数:  
-c:只输出匹配行的计数。  
-I:不区分大 小写(只适用于单字符)。  
-h:查询多文件时不显示文件名。  
-l:查询多文件时只输出包含匹配字符的文件名。  
-n:显示匹配行及 行号。  
-s:不显示不存在或无匹配文本的错误信息。  
-v:显示不包含匹配文本的所有行。
-A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行
-B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行  
pattern正则表达式主要参数:  
: 忽略正则表达式中特殊字符的原有含义。  
^:匹配正则表达式的开始行。  
$: 匹配正则表达式的结束行。  
<:从匹配正则表达 式的行开始。  
>:到匹配正则表达式的行结束。  
[ ]:单个字符,如[A]即A符合要求 。  
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。  
。:所有的单个字符。  
 - :有字符,长度可以为0。

6、混合使用命令

A.  tail web.2016-06-06.log -n 300 -f  
    查看底部即最新300条日志记录,并实时刷新      

B.  grep 'nick' | tail web.2016-04-04.log -C 10   
    查看字符‘nick’前后10条日志记录, 大写C  

C.  cat -n test.log |tail -n +92|head -n 20  
    tail -n +92表示查询92行之后的日志  
    head -n 20 则表示在前面的查询结果里再查前20条记录

与日志记录的一些配置文件及配置项,分别表示什么含义?

Linux系统日志以及分析

 Linux系统日志相关配置文件为/etc/syslog.conf

syslog配置文件

如何分析用户登录失败、SU失败的日志?

操作记录:

用户历史操作记录的存储位置?

 Linux系统下所有用户的操作信息

如何查看用户历史操作?有哪些工具,如何使用?

 详情

原文地址:https://www.cnblogs.com/Paranoid-4/p/9326202.html