Linux 文件通知机制,文件监控与通知机制 audit inotify

什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s)Kernel events (syscall events)User events (audit-enabled programs)syslog会记录系统状态(硬件警告、软件的log), 但syslog属于应用层, log归咎与软件, 并不会记录所有动作. 于是audit来记录更多信息。audit命令auditctl audit系统管理工具,用来获取状态,增加删除监控规则。ausearch 查询audit log工具aureport 输出audit系统报告auditctl示例auditctl -w /etc/passwd -p war -k password_fileauditctl -w /tmp -p e -k webserver_watch_tmp-w 监控文件路径 /etc/passwd,-p 监控文件筛选 r(读) w(写) x(执行) a(属性改变)-k 筛选字符串,用于查询监控日志auditctl -a exit,never -S mountauditctl -a entry,always -S all -F pid=1005-S 监控系统调用-F 给出更多监控条件(pid/path/egid/euid等)auditctl -D 删除所有的rule

日志查询设置了监控后,会在/var/log/audit/audit.log里出现日志。可以用此命令查看日志:ausearch -f /etc/passwd -x rm-k  利用auditctl指定的key查询-x  执行程序# ausearch -ts today -k password-file# ausearch -ts 3/12/07 -k password-file-ts 指定时间后的log (start time)-te 指定时间前的log (end time)audit库libaudit和libaudit-python不过完全找不到文档。我也觉得这个东西用得上的时候不多。除非.....

什么是inotifyinotify 是文件系统事件监控机制,是细粒度的、异步的机制。inotify is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem, and report those changes to applications. It replaces an earlier facility, dnotify, which had similar goals.原理和实现http://www.ibm.com/developerworks/cn/linux/l-inotifynew/http://en.wikipedia.org/wiki/Inotifyinotifywait in shell此命令会在inotify事件发生的时候阻塞,使之便于脚本应用。简单的示例

#!/bin/bash

inotifywait -mrq --event create,delete,modify,move --format '%w %e' /path | while read w e; do

if [ "$e" = "IGNORED" ]; then

continue

fi

rsync -az --delete $w username@ip:$w

done

另外一个例子:

#!/bin/sh

inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %f' \

-e close_write /home/ottocho | while read date time file;

do

rsync /home/ottocho/${file} ottocho::backup

echo "Inof: ${date} ${time}, ${file} backed up"

done

inotify与rsync很多人利用inotify和rsync实现实时同步文件,而基于inotify API和rsync command的sersync解决了这个问题。http://code.google.com/p/sersync/python与inotifyinotify有两个python库,pyinotify和inofityx.区别在inotifyx的官网上作者如是说道:inotifyx是C的拓展,没有使用ctypes,因此速度更快、在inotify的API变化时会更少出现问题。inotifyx是inotify更轻的封装。pyinotify更复杂,它提供了很多inotifyx没有的特性,可这些特性在大多数情况下未必需要。inotifyx提供的API是基本不变的简易的。http://www.alittletooquiet.net/software/inotifyx/http://pyinotify.sourceforge.net/inotifyx以下是一个源自源代码的例子,非常简易,注释就不必了吧

#!/usr/bin/env python

importpyinotify

importos

importsys

classWatchLogProceesing(pyinotify.ProcessEvent):

defprocess_IN_CLOSE_WRITE(self, event):

print"processing %s"% (event.pathname)

defmonitor_dir(directory):

wmn = pyinotify.WatchManager()

notifier = pyinotify.Notifier(wmn, WatchLogProceesing())

wmn.add_watch(directory, pyinotify.IN_CLOSE_WRITE)

notifier.loop()

monitor_dir("/home/ottocho")

pyinotifypyinotify是更出名功能更全面的库。以下是一个超级简单的示例。

#!/usr/bin/env python

importpyinotify

importos

importsys

classWatchLogProceesing(pyinotify.ProcessEvent):

defprocess_IN_CLOSE_WRITE(self, event):

print"processing %s"% (event.pathname)

defmonitor_dir(directory):

wmn = pyinotify.WatchManager()

notifier = pyinotify.Notifier(wmn, WatchLogProceesing())

wmn.add_watch(directory, pyinotify.IN_CLOSE_WRITE)

notifier.loop()

monitor_dir("/home/ottocho")

附:

今天有一个文件总是被修改,为了找出此原因故用了此方法进行查看此文件是怎么被修改的

先设定被监控的文件

auditctl -w /usr/local/apache/htdocs/index.php war -k index_php

经过几分钟里面的内容被 修改

查看方法ausearch -ts today -k index_php

也可以把此文件输出到一个文件进行查看

ausearch -ts today -k index_php >> /tmp/logs/index_php

查看被监控的文件方法为 auditctl -l

删除所有 的文件监控 auditctl -D

等保测评linux常用命令(积累) cat /etc/selinux/config 关于安全标记(如果从强制模式(enforcing)、宽容模式(permissive)切换到关闭模式(disabled),或者从关闭模式切换到其他两种模式,则必须重启 Linux 系统才能生效,但是强制模式和宽容模式这两种模式互相切换不用重启 Linux 系统就可以生效。$6 表示SHA-512;tail -n 20 /var/log/wtmp 是一个二进制文件,记录每个用户的登录次数和持续时间等信息,永久记录每个用户登录、注销及 系统的启动、停机的事件。 阅读详情

相关推荐

等保测评基础知识(四)

互联单位、接入单位、使用计算机信息网络国际联网的法人和其他组织(包括跨省、自治区、直辖市联网的单位和所属的分支机构),应当自网络正式联通之日起30日内,到所在地的省、自治区、直辖市人民政府公安机关指定的受理机关办理备案手续。跨省或者全国统一联网运行并由主管部门统一定级的信 息系统在各地运行、应用的分支系统(包括由上级主管部门 定级,在当地有应用的信息系统),由所在地地市级以上公安机关公共信息网络安全监察部门受理备案。有下列行为之一的,由公安机关责令限期改正,给予警告,有违法所得的,没收违法所得;

qq_48257021的博客 483

linux的审计功能

linux的审计功能(audit) 2010-09-30 16:40:34|  分类: 工作|字号 订阅 2.6 Linux内核有用日志记录事件的能力,比如记录系统调用和文件访问。然后,管理员可以评审这些日志,确定可能存在的安全裂口,比如失败的登录尝试,或者用户对系统文件不成功的访问。这种功能称为Linux审计系统,在Red Hat Enterprise

lishenglong666的专栏 4219

Linux Malware Detect (LMD) 部署配置与故障排查实战指南

在Linux服务器安全运维中,恶意软件检测与清除是保障Web应用安全的核心环节。其原理通常基于特征匹配、行为分析和实时监控,通过多引擎协同工作来识别PHP后门、WebShell等威胁。这项技术的价值在于为系统管理员提供了一个主动防御层,能够有效应对自动化攻击和未知漏洞利用。在实际应用场景中,它被广泛部署于共享主机、企业服务器和云环境,用于日常安全巡检和入侵响应。本文聚焦于Linux Malware Detect (LMD) 这一高效工具,深入探讨其与ClamAV的集成配置、实时监控(inotify)的调优策

weixin_33730836的博客 414

ausearch

这是许多新系统管理员提出的关键问题之一:如何审核文件事件,如读/写等?如何使用audit查看谁在Linux中更改了文件?答案是使用2.6内核的审计系统。现代Linux内核(2.6.x...

yunweimao的博客 4889

PHP Linux监控文件变化,文件监控与通知机制 audit inotify

什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s)Kernel events (syscall events)User events (audit-enabled programs)syslog会记录系统状态(硬件警告、软件的...

weixin_42510600的博客 229

Linux文件安全与完整性保护:从权限控制到入侵检测的实战指南

在Linux系统运维中,文件安全与完整性保护是保障系统稳定和数据可靠的核心基础。其原理基于访问控制与完整性校验两大支柱:通过权限管理、ACL和文件属性实现精细化的访问控制,防止未授权操作;通过哈希校验、监控审计等技术验证文件内容是否被篡改。这些技术的工程价值在于构建纵深防御体系,有效应对内部误操作、外部入侵和供应链攻击等安全威胁。典型应用场景包括保护关键配置文件、系统二进制文件、日志文件以及Web应用代码等核心资产。本文聚焦于Linux文件安全防护,详细介绍了如何使用chattr设置不可变属性、通过audi

436

文件监控与通知机制 audit inotify

什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s) Kernel events (syscall events)User events (audit-enabled programs)syslog会记录系...

weixin_33785108的博客 215

Linux系统安全加固与天融信设备联动实践指南

在网络安全领域,纵深防御是保障系统安全的核心原则,它强调从网络边界到主机内部构建多层防护体系。其基本原理是通过在不同层次部署安全控制措施,即使某一层被突破,其他层仍能提供保护。这一理念的技术价值在于能够有效应对复杂多变的网络威胁,防止单点失效导致整个系统沦陷。在实际应用场景中,企业常部署天融信等专业防火墙作为边界防护,但后端Linux服务器的安全配置往往被忽视,形成安全短板。本文聚焦于Linux系统安全基线配置、入侵检测与文件完整性监控等关键实践,探讨如何通过SSH加固、防火墙精细化管理和Wazuh等工具部

weixin_34161064的博客 350

linux下的文件审计功能(audit inotify)

为了满足这样的需求:记录文件变化、记录用户对文件的读写,甚至记录系统调用,文件变化通知。 本文介绍audit和inotify. 什么是audit The Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s)  Kernel e...

weixin_34324081的博客 305

Astrid 贡献者手册导读:多仓库架构、内核“哑“法则与契约变更的 RFC 触发机制

`src/introduction.md`(即 [Introduction](https://link.gitcode.com/i/c2f5b0dd02ca862604c57678c6b66b37))是 Astrid 贡献者手册(Contributor Handbook)的总纲:它界定了手册的读者群——那些在 Astrid 内核、SDK、契约表面或参考 capsule 上"改代码的人";立下了支配

gitblog_00646的博客 552

Linux系统安全加固:六款核心工具选型与分层防御实战指南

在信息安全领域,恶意代码检测与系统完整性监控是构建纵深防御体系的基础。其核心原理在于通过特征码匹配、行为分析和基线比对等技术,持续识别异常活动与潜在威胁。这些技术对于保障服务器、云原生环境及物联网设备的安全运行具有重要价值,尤其在应对勒索软件、Rootkit和Webshell等高级威胁时不可或缺。本文聚焦Linux平台,深入解析ClamAV、OSSEC等六款主流安全工具,涵盖从轻量级扫描到企业级实时监控的完整解决方案,并提供分层部署与实战排坑策略,帮助运维人员构建从基础加固到实时响应的全方位防护体系。

hqmln的博客 385

rsync原理与实战:文件同步的底层一致性保障机制

rsync 是 Linux 下实现目录内容一致性的核心工具,其本质并非简单复制,而是基于滚动校验(rolling checksum)和块级差异比对的状态收敛算法。它通过本地扫描、远程协商、增量传输三层架构,在保证文件权限、时间戳、符号链接等元数据完整的同时,仅传输变化的数据块,显著提升传输效率与网络适应性。技术价值在于零信任校验、断点续传、SSH 加密隧道集成及跨平台兼容性,广泛应用于服务器备份、开发-测试环境同步、跨云灾备等关键场景。本文深入解析 rsync 的设计哲学、安全实践与生产级参数组合,尤其聚焦

340

Linux内核崩溃分析利器:kdump原理与实战配置

内核转储是操作系统故障诊断的核心技术,通过捕获系统崩溃时的完整内存状态,为分析提供关键现场数据。其实现原理基于kexec系统调用实现双内核切换,主内核崩溃时捕获内核能秒级接管并保存vmcore文件。这种机制相比传统转储方式具有显著性能优势,尤其适合诊断空指针解引用、硬件异常等复杂问题。在企业级场景中,kdump需要合理配置crashkernel内存保留策略,并支持NFS/SSH等多种转储目标。结合crash分析工具,工程师可以快速定位内核死锁、内存泄漏等疑难故障,大幅缩短系统恢复时间。对于云环境和容器化部署

weixin_33859844的博客 595

【信息科学与工程学】计算机科学与自动化——第一百三十六篇 软件及工具02 Linux 底层内核参数全体系 01

这个参数体系为Linux内核的开发、调优和问题诊断提供了完整的基础。:通过sysctl、procfs等接口可配置。:基于系统特性和硬件条件设置合理默认值。参数默认值应考虑系统配置和硬件能力。需要详细的文档说明每个参数的作用。:多数参数可以在运行时动态调整。分配阶数(2^order页):每个参数都有明确的有效范围。参数访问需要适当的同步机制。SOCK_STREAM等。IPPROTO_TCP等。Guest CPU时间。__GFP_WAIT等。FMODE_READ等。TCP_CLOSE等。AppArmor状态。

weixin_49199313的博客 1036

OpenClaw:构建在Cron之上的智能任务管理与执行框架

在软件开发和系统运维领域,定时任务是实现自动化、周期性作业的核心技术。传统的Cron工具虽然稳定可靠,但在任务管理、执行监控和错误处理方面存在明显短板,例如任务失败难以感知、缺乏执行上下文、通知机制简陋等。这催生了对更智能、更可观测的任务调度系统的需求。OpenClaw正是为解决这些问题而设计,它是一个构建在原生Cron之上的增强层,而非替代品。其核心价值在于为Cron任务提供了集中化的管理、上下文感知的智能提醒和安全可靠的执行交付机制。通过将任务定义、参数校验、资源控制、权限隔离和结果通知等功能标准化与中

weixin_30399155的博客 399

zynq+LWIP 裸机双网口实现(MIO+EMIO)+程序下载

芯片型号: ZYNQ: XC7Z010clg400开发软件:Vivado2022 + Xilinx Vitis 2022网卡芯片:RTL8211FDI(需要根据网口芯片型号修改对应的硬件配置代码。

thinking in 小宇宙 3367
上一篇: linux raw socket 发送ip报文,Raw Socket Linux发送/接收数据包
下一篇: linux硬盘缩容,Linux LVM扩容和缩容
weixin_28693447
博客等级 码龄10年 36粉丝 1217原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值