linux删除日志命令 linux中清除日志vi( 二 )


新增logrotate配置则是需要切割日志,防止单个日志文件太大,以及做好切割备份,方便查询 。
【一】
在 /etc/profile 最后添加如下行,则日志会直接输出到 messages 日志里 。
这种方式:不定义日志格式,直接将日志写到messages日志文件里 , 和其他日志放一起,但是可以指定日志标签,方便检索 。
缺点是(1)会导致日志增大,并且用户提权后因-t标签的存在,导致不会记录提权前的用户 。(2)不能自定义日志路径 。
【二】
缺点:用户可以删除日志文件 。
因为普通用户和root都要往日志文件里写,所以需要给普通用户加一个附加组;并且如果日志文件不存在,普通用户登录后也需要新建,所以普通用户必须有日志文件父目录的写权限 。为了能让所有普通用户都可以写 , 就给Command目录加了SGID权限以及修改目录属组为audit 。这样普通用户在这个目录下创建的日志文件的属组会自动继承Command目录的属组,也就是audit 。(umask 002touch $HISTORY_FILE) 命令则是因为root用户生成的日志文件权限是644,属组没有写权限 。所以这里用 启动子shell并修改umask的方式生成日志文件 。这样就不会修改root默认的 0022 的umask 。
其他审计软件:
免费2个月
Linux查看系统日志的一些常用命令last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行 。
-d 指定记录文件 。指定记录文件 。将IP地址转换成主机名称 。
-f 记录文件 指定记录文件 。
-n 显示列数或-显示列数 设置列出名单的显示列数 。
-R 不显示登入系统的主机名称或IP地址 。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的'命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行 。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
【linux删除日志命令 linux中清除日志vi】 cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次 。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容 , 
这一特性,对于查看日志是非常有效的 。如果想终止输出,按 Ctrl+C 即可 。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息

推荐阅读