Linux文件系统与日志分析

一、inode和block

1.1inode表结构

存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域叫做inode表。

inode number 节点号

文件类型

权限

UID

GID

链接数(指向这个文件名路径名称个数)

该文件的大小和不同的时间戳

指向磁盘上文件的数据块指针

有关文件的其他数据

1.2inode号

 inode是有限资源,如果消耗完毕,无法继续新建文件,解决方法就是删除空文件。

 inode号是唯一的在同一设备中,在不同设备中inode号是可以相同的。

1.3三个时间截

atime:访问文件时间,需要打开文件时间才会发生变化

mtime:最近更改时间,文件内容发生改变,时间才会变化

ctime:最近改动时间,文件的元信息改变,时间才会改动,属主属组大小

注:在使用find找文件时间推荐使用mtime

二、日志管理

系统日志:操作系统做了什么事,发生了什么故障

应用日志:某一程序发生了什么事,发生了什么故障

2.1日志的级别

级号 消息 级别 说明
0 EMERG 紧急 会导致主机系统不可用的情况
1 ALERT 警告 必须马上采取措施解决的问题
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 可能会影响系统功能的事件
5 NOTICE 注意 不会影响系统但值得注意
6 INFO 信息 一般信息
7 DEBUG 调试 程序或系统调试信息等

2.2日志的种类以及位置

2.2.1系统日志

/var/log/secure:系统安全信息

/var/log/messages :系统中大部分的信息

以/var/log/messages文件为例

2.2.2用户登录日志

/var/log/btmp:查看用户登陆失败的信息,lastb命令进行查看,last命令可以查看

/var/log/wtmp:哪些用户正常登陆到系统中,可以使用last命令查看

/var/log/lastlog:每一个用户最近一次的登录信息,lastlog命令可以查看

2.2.3程序日志

和程序本身有关,有的有独立日志,有的没有独立日志

2.3查询当前用户登录

users    仅显示登录的用户名

w  [选项]  显示当前系统上登录的用户以及活动情况

who    当前登录用户的信息,包括用户名、登录终端和登录时间等

root 登录的用户名

pts/0 用户所使用的终端。

2024-04-23   13:47 登录时间和日期。

192.168.211.1 登录用户的IP地址或主机名。

2.4查询历史登录用户

last 查询成功登录到系统的用户记录

last | tail  查询登录成功的用户,只显示最后十行

三、日志管理工具

3.1journalctl

日志的配置文件:

/etc/systemd/journald.conf

journalctl命令格式:journalctl    [选项]

查看所有日志(默认情况下 ,只保存本次启动的日志)

查看内核日志  journalctl  -k

四、rsyslog配置文件

配置文件vim /etc/rsyslog.conf

MODULES:相关模块配置

只有安装了功能模块,才会有相关的模块配置

GLOBAL DIRECTIVES:全局配置,相当于通用配置

RULES:局部配置

4.1rsyslog实际应用   单独显示某一服务的日志

编辑rsyslog配置文件

vim /etc/rsyslog.conf

编辑ssh服务的配置文件/etc/ssh/sshd_config,改变日志路径

vim /etc/ssh/sshd_config 修改ssh配置文件,

32下一行添加自己的自定义 32   SyslogFacility AUTHPRIV

33 SyslogFacility LOCAL6

重启服务用ssh

systemctl restart rsyslog.service sshd

关闭防火墙

ssh 192.168.211.10   远程连接其他主机

查看ssh服务的日志是否独立列出

4.2rsyslog实际应用  将远程主机的日志备份到本机

加载主机C的rsyslog的ICMP和TCP模块

vim /etc/rsyslog.conf

systemctl restart rsyslog.service   重启使生效

ss -ntap |grep 514      查看端口是否开启

修改主机A和主机B的rsyslog配置文件(两者操作相同)

关闭防火墙,重启后生效

使用logger命令,模拟日志

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 20:16:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 20:16:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 20:16:03       82 阅读
  4. Python语言-面向对象

    2024-04-23 20:16:03       91 阅读

热门阅读

  1. 数字人技术:相关论文汇总

    2024-04-23 20:16:03       33 阅读
  2. Redis雪崩

    2024-04-23 20:16:03       38 阅读
  3. python多线程详解

    2024-04-23 20:16:03       30 阅读
  4. Ubuntu搭建RP2040开发环境-1

    2024-04-23 20:16:03       38 阅读
  5. Springboot2.7解决静态资源302问题

    2024-04-23 20:16:03       39 阅读
  6. LeetCode 42. 接雨水 - PHP

    2024-04-23 20:16:03       32 阅读
  7. 2023年图灵奖揭晓

    2024-04-23 20:16:03       31 阅读