文件系统和日志分析

目录

1、inode和block概述

2、日志

3、查询当前用户登录情况

4、rsyslog系统日志服务

5、网络日志

 

inode和block概述

文件数据包括元信息与实际数据
如何看inode信息:
同一个硬件设备上(同一个分区)inode是唯一的(同一硬件/分区)
inode是一个资源,可被用完
文件存储在硬盘上,硬盘最少存储单位是"扇区",每个扇区存储512字节
blokc(块)
 

inode包含文件的元信息:

文件的字节数
文件的拥有者的
Linux系统文件的三个主要的时间
ctime(最近访问):最后一次查看文件
atime(最近更改):最近更改文件内容的时间,注:更改完内容之后,ctime也会改变
mtime(最近改动):最近更改文件元信息的时间,比如改变权限等
 
目录文件(文件夹)的实际内容是里面的文件名
实际数据由指针指向
删文件是删的指针和inode号
我的空间足够,为什么不能继续创建文件:inode号用完了
解决方法:逻辑卷就扩容,如果不是就删除无用文件
 

查看inode号 ls -i

0
inode也会消耗硬盘空间
 

indode的特殊作用:

移动或重命名文件时,只改变文件名,不影响inode号
打开1个文件后,系统通过inode号来识别该文件,不再考虑文件名
cp和inode:
0
0
inode 的分配不是按顺序,是随机分配
0
 

日志:

用于记录系统、程序运行中发生的各种事情
通过阅读日志,有助于诊断和解决系统故障
常见的一些日志文件:
内核及系统日志/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等命令查看
 
日志文件的格式:
1、时间产生的时间
2、产生事件的服务器的主机名
3、产生事件的服务器或程序名
4、事件的具体信息
 
日志消息的级别:
0
 
软件由他的配置文件决定
决定服务方式、网络地址、个性化功能
yum rpm /etc
rpm -qc 软件名 (该软件的配置文件位置)
.conf 为配置文件
在改配置文件之前一定要备份文件
 

查询当前登录用户的情况

users //简单地输出当前登录的用户名称
0
 
who 用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可
以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用 户名、终端类型、登录日期及远程主机
 
w 用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的 输出内容要丰富一些
last 命令用于查询成功登录到系统的用户记录
lastb 命令用于查询登录失败的用户记录
 

rsyslog系统日志服务

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

系统日志术语:

facility:设施(类别),从功能或程序上对日志进行归类
内置分类:auth(验证),authpriv,cron(定时任务),daemon,
Priority 优先级别,从低到高排序
自定义分类:local-local7
local0
local1
0 7
 
/var/log/ssh.log
你需要存储的日志类型.(以.为分隔符)你想要关注的级别 放到哪一个文件中
0
 

实际操作:

将ssh服务的日志单独设置
有些服务有自己的日志,有些小的软件没有自己的日志系统,所以要依赖于rsyslog
ssh远程链接 协议→openssh软件
ssh远程链接:1、压缩功能2、传输快3、密文传输 (telnet是明文)
openssh软件提供了ssh远程链接的功能
客户端 通过 xshell软件 链接到服务器 (7-1) //ssh 192.168.1.12
ss -ntap 查看端口有无开启 ss -ntap | grep 22
1、将ssh服务的日志文件独立出来
原来ssh /var/log/secure
vim /etc/ssh/sshd_config
修改ssh配置文件,注释32行,32下一行添加自己的自定义
SyslogFacility LOCAL6
0
2、vim /etc/rsylog.conf
在类别那的local6
local6.* /var/log/ssh.log
0
3、重启:
systemctl restart rsyslog.service
systemctl restart sshd
4、查看:
cat /var/log/ssh.log
0
 

网络日志(远程日志功能)

vim /etc/rsyslog.conf
大概在19行和20分别取消注释
在57和56行
authpriv.* @@192.169.91.
 
systemctl restart rsyslog.service
hostnamectl set-hostname abc
 
日志保存位置
默认位于:/var/log 目录下
主要日志文件介绍:
0

[root@centos7-2 ~]#yum install vsftpd -y
[root@centos7-2 ~]#ss -natap |grep 21
[root@centos7-2 ~]#systemctl start vsftpd

[root@centos7-2 ~]#yum install ftp -y

[root@localhost ~]#ftp 192.168.91.101
Connected to 192.168.91.101 (192.168.91.101).
220 (vsFTPd 3.0.2)
Name (192.168.91.101:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> help

 

 

anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO
listen_port=2121 默认值为21
#anon_upload_enable=YES
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录

 
 
journalctl
排错
看哪里错了(大概位置)
journalctl -xe
--no-pager(显示全)
 
做好日志权限管理
posted @ 2022-10-23 01:31  七分人格  阅读(41)  评论(0编辑  收藏  举报