linux 文件系统 与 日志分析
一.inode 表
1)indoe 表中 保存的信息
inode number 节点号
文件类型
权限
UID
GID
链接数 (指向这个文件名路径名称个数)
该文件的大小和不同时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
2)查看 indoe 号
ls -i
stat
stat [选项] 文件
最近访问:atime
最近更改文件:ctime
最近改动权限:mtime
3)TIPS
1.
一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。4k一读,8个扇区一读
3.文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode表。 因此,一个文件必须占用一个inode,并且至少占用一个block。du 显示
4.inode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件。
5.每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个或多个文件名。
唯一 同一文件系统() 不同的文件
6.
在目录中创建一个目录项,将名称与inode编号关联
rm 命令
硬链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
删除文件时空间不释放,除非覆盖
可以使用echo " " > 文件 来清空彻底删除
二.日志
日志默认放在 /var/log 中
1)常见 日志文件
/var/log/message 内核 和 公共日志
/var/log/cron 计划任务日志 记录与系统定时任务相关日志
/var/log/maillog 邮件日志 记录邮件信息的日志
/var/log/lastlog 记录系统中所有用户最后一次登录时间 使用 lastlog 命令查看
/var/log/secure 记录验证和授权方面的倍息 系统,ssh的登录 su切换 sudo授权
2)日志文件的格式
1.事件产生时间
2.产生事件的服务器的主机名
3.产生事件的服务名或者程序名
4.事件的具体信息
3)内核和公共日志
日志的配置文件在 /etc/rsyslog.conf
信息的优先级
0 EMERG(紧急) :会导致主机系统不可用的情况
2 CRIT(严重):比较严重的情况。
3 ERR(错误):运行出现错误。
4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。
6 INFO(信息):一般信息。
内核和公共消息日志存储位置
/var/log/message
一条消息包括四个字段:
时间标签:消息发出的日期和时间
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容
三.用户日志
wtmp 、 btmp 、 lastlog 等日志文件中保存系统用户登录 、 退出等相关的事件消息
不能用tail等文本查看工具浏览,要使用who 、 w 、users 、last和lastb
1)查询当前登录的用户情况
users
简单输出当前登录的用户名称 单个用户不止一个登录会话会显示相同次数
who
报告当前登录到系统中的每个用户的信息
默认输出包括
用户名 终端类型 登录日期 远程主机
w
显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容更丰富
2)查询用户登录的历史记录
last
查询成功登录到系统的用户记录
lastb
查询登陆失败的用户记录 /var/log/secure 中也能获得信息