一、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命令,模拟日志