深入了解linux系统与日志分析

143 阅读6分钟

了解内容///遇事不决看日志

1.inode与block

2.硬连接与软连接

3.恢复误删除的文件

4.分析日志文件

一.inode (元数据)与 block(实际数据)

  • 文件数据包括 元信息 与 实际数据

  • 文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

block(块)

  • 连续的八个扇区组成一个block

  • 是文件存取最小单位

inode(索引节点)

  • 中文译名为“索引节点”,也叫i节点

  • 用于储存文件元信息

二.查看inode号方式

ls -i

image.png

stat

image.png

df -i image.png

问答:为什么磁盘空间很大,却不能建立文件。

答:因为inode号用光了

解决方式:删文件,删空文件

三.inode的内容

- 目录文件结构:

目录也是一种文件

目录文件结构

- 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
- Linux系统内部不使用文件名,而使用inode号码来识别文件
- 对于用户,文件名只是inode号码便于识别的别称

###### cp 和 inode

  • cp命令:

  • 分配一个空闲的inode号,在inode表中生成新条目

  • 在目录中创建一个目录项,将名称与inode编号关联

  • 拷贝数据生成新的文件

###### rm 命令 删除 rm -rf

  • 硬链接数递减,从而释放的inode号可以被中用

  • 把数据块放在空闲列表中

  • 删除目录项

  • 数据实际上不会马上被删除

mv和inode

  • 如果mv命令的目标和源在同一设备,

  • 不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!

  • 删除旧的目录对应关系新建目录对应关系

image.png

四. 日志

日志功能是什么:

  • 用于记录系统,程序运行中发生的各种事件

  • 通过阅读日志,有助于诊断解决系统故障

常见的一些日志文件

日志文件位置日志文件说明
/var/log/messages内核和公共日志它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已及用户自定义安装软件的日志,也会在这里列出。
/var/log/cron 计划任务日志记录与系统定时任务相关的曰志
/var/log/dmesg 系统引导日志记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/maillog 邮件日志记录邮件信息的曰志
用户日志
/var/log/lastlog记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/log/secure记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

日志文件的格式

  • 事件产生的时间。
  • 产生事件的服务器的主机名。
  • 产生事件的服务名或程序名。
  • 事件的具体信息。

image.png

信息的优先级

0 EMERG(紧急):会导致主机系统不可用的情况。

1 ALERT(警告):必须马上采取措施解决的问题。

2 CRIT(严重):比较严重的情况。

3 ERR(错误):运行出现错误。

4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

6 INFO(信息):一般信息。

7 DEBUG(调试):程序或系统调试信息等

查询当前登录的用户情况

user

image.png

who

image.png

w

image.png

查询用户登录的历史记录

last:查 询用户登录的历史记录

image.png

lastb:查询登录失败的用户记录,

image.png

lastlog:查看每一个用户最近登录信息

image.png

五.日志服务管理

rsyslog 系统日志服务软件

rsyslog 特性

  • 多线程
  • UDP, TCP, SSL, TLS, RELP
  • MySQL, PGSQL, Oracle实现日志存储
  • 强大的过滤器,可实现过滤记录日志信息中任意部分
  • 自定义输出格式 可以日志
  • 适用于企业级

服务名称

什么服务 的日志

auth(LOG AUTH)安全和认证相关消息 (不推荐使用authpriv替代)
服务名称说 明
authpriv(LOG_AUTHPRIV)安全和认证相关消息(私有的)
cron (LOG_CRON)系统定时任务cront和at产生的日志
daemon (LOG_DAEMON)与各个守护进程相关的曰志
ftp (LOG_FTP)ftp守护进程产生的曰志
kern(LOG_KERN)内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL0-7)为本地使用预留的服务
lpr (LOG_LPR)打印产生的日志
mail (LOG_MAIL)邮件收发信息

rsyslog 相关文件

  • 程序包:rsyslog
  • 主程序:/usr/sbin/rsyslogd
  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}
  • CentOS 7,8:/usr/lib/systemd/system/rsyslog.service
  • 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
  • 库文件: /lib64/rsyslog/*.so

实际操作,将ssh服务的日志单独设置

1.vim编辑 /etc/ssh/sshd_config

image.png

修改ssh的配置文件/etc/ssh/sshd_config,32下一行添加自己的自定义

image.png

2.vim 编辑 /etc/rsyslog.conf

image.png

修改/etc/rsyslog.conf配置文件在76行添加自己的文件位置

image.png

重启服务

image.png

用ssh连接自己的主机

image.png

设置完成

image.png

网络日志(远程日志功能)具体操作

image.png

以主机和副机A为例

1.关闭防火墙

image.png

2.编辑配置文件 /etc/rsyslog.conf ///将19,20行的#号删除

image.png

image.png

3.重启使生效 systemctl restart rsyslog.service

image.png

4.查看端口是否开启

image.png

5.修改主机A的配置文件

image.png

6.重启使生效

image.png

编辑接收方主机配置文件

1.关闭防火墙

image.png

2.编辑配置文件编辑 /etc/rsyslog.confg

image.png

image.png

3.用副机发信息给接收方的主机

logger 'hellow 222 fromA'

image.png

4.去主机查看

image.png