linux 下文件防篡改,Rsync+inotify实现文件防篡改
A服务器作为防篡改源服务器,也就是正常的文件服务器
B服务器作为对外开放,也就是WEB目录服务器
同时将A服务器作为网站后台更新内容的服务器
在B服务器上配置好rsync + inotify 触发式实时同步
图例如下:
A防篡改系统安装rsync
yum install rsync配置rsync文件rsyncd.conf
服务器A(防篡改系统rsync配置)
vi /etc/rsyncd.conf
[test]
uid = root#运行rsync的用户
gid = root#运行rsync的用户组
ignore errors#忽略一些无关的I/O错误
path = /app/sinova/python/#需要备份的文件路径
read only = false#false为关闭,true表示开启。表示只读,不允许上传文件
writeonly = false#不允许下载
list = false#客户请求可以使用模块列表时是否被列出
secres file = /etc/rsync.password#指定一个包含“用户名:密码”格式的文件建立 rsync 用户名和密码文件
#echo"root:123456789" >> /etc/rsync.password为 /etc/rsync.password授权为 600(这个文件的权限必须是 600)
#chmod 600 /etc/rsync.password启动rsync并添加开启自动启动
#/usr/bin/rsync --daemon &
#echo "/usr/bin/rsync --daemon" >> /etc/rc.localWEB服务器
1、设置 rsync客户端的密码文件,服务器B只需要设置 rsync同步的密码即可,不用设置用户名
# yum install rsync
# echo "123456789" > /etc/rsync.password将密码文件的权限设置成 600(这个文件的权限必须是600)
# chmod 600 /etc/rsync.password
3、配置 Inotify(在 服务器B上配置)
# tar zxf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure && make && make install
写一个脚本来实现,当/app/test中文件有变化时,让rsync服务同步数据:
#!/bin/bash
DATE=`date +%F_%T`
rsyncCmd="rsync -vzrtopg --progress --delete 192.168.101.129::test /app/test --password-file=/etc/rsync.password"
Log=/app/logs/notify.log
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib /app/test | while read file
do
${rsyncCmd}
echo "${DATE}:Change:${file} was rsynced" >> ${Log}
done编写监听inotify进程脚本,防止inotify由于某种原因中断无法实时同步
vi /app/bin/inotify_monitor.sh
#!/bin/bash
#time 2015-09-01
#program: inspect inotify script
function check(){
if ! ps -ef|grep "$1"|grep -v "grep" >/dev/null;then
nohup /app/bin/inotify.sh &
fi
}
check inotifywait添加定时任务计划
#crontab -e
*/1 * * * * /app/bin/inotify_monitor.sh &> /dev/null给予执行权限
# chmod +x /root/inotify.sh
#nohup/app/bin/inotify.sh & #在后台执行
启动服务器A(防篡改)与服务器B(WEB)rsync服务
#/usr/bin/rsync --daemon启动服务器B(WEB)服务器脚本
#nohup/app/bin/inotify.sh &
#crontab -e
*/1 * * * * /app/bin/inotify_monitor.sh &> /dev/null关闭inotify服务
关闭监听inotify进程脚本,添加#注释掉计划任务
#crontab -e
#*/1 * * * * /app/bin/inotify_monitor.sh &> /dev/null
查找后台进程并kill掉
#kill -9 `ps -ef|grep inotify|grep -v grep|awk '{print $2}'`
向服务器B(WEB服务器)/app/test下目录进行更改、删除文件进行测试;
从上图可以看出,删除、更改文件后目录下无变化。
设置rsync+inotiy后更新文件需从服务器A(防篡改)进行文件同步;
linux 下文件防篡改,Rsync+inotify实现文件防篡改相关推荐
- rsync+inotify实现文件增量实时同步
rsync+inotify实现文件增量实时同步 项目环境 防火墙{项目环境,不是必要条件} 项目需求 一.rsync安装部署 1.检查是否安装rsync 2.测试系统rsync命令 3.新建配置文件 ...
- Linux下程序崩溃dump时的 core文件的使用方法
Linux下程序崩溃dump时的 core文件的使用方法 1.在启动程序前执行 ulimit -c unlimited unlimited 表示生成文件的大小限制,也可以修改为自定义的大小,例如: u ...
- linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...
- linux比较两个文件md5,linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致。...
linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致.如下所示: #!/bin/bash SOURCE_DIR="/home/walkerjava/source/" ...
- Linux下使用GPG(GnuPG)加密及解密文件
文章目录 Linux下使用GPG(GnuPG)加密及解密文件 1. 简介 2.环境及版本 3.GPG公钥生成 4.查看公钥 5.查看私钥 6.导出公钥 7.导出私钥 8.加密文件 本机加密 其他电脑加 ...
- java调用c 生成so,Java在linux下调用C/C++生成的so文件
Java在linux下调用C/C++生成的so文件 1. CplusUtil.java是java web工程中的一个工具类 内容如下: CplusUtil.java package cn.undone ...
- Linux下Brit 导出pdf,word等文件的时候echarts的X轴或者Title乱码问题
Linux下Brit 导出pdf,word等文件的时候echarts的X轴或者Title出现中文乱码问题 问题:当我们在Windows开发项目中使用eclipse的birt插件时,其中birt的ech ...
- Linux 下载安装 rar 并解压rar压缩包(Linux下如何解压.zip和.rar文件)
Linux下如何解压.zip和.rar文件,对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于zip linux下提供了zip和unzip程序,zip是 ...
- linux下rsync+inotify同步文件
inotify进行对服务器文件监听,一旦检测到有改动则发起同步rsync服务器文件到客户端 一.安装和下载rsync 下载地址:http://rsync.samba.org/ 1.安装步骤: 1)# ...
最新文章
- 有哪些「魔改」损失函数,曾经拯救了你的深度学习模型?
- 有段位的管理者,都是怎么管理的?
- 微软亚洲研究院副院长刘铁岩:以计算之矛攻新冠之盾
- Charles调试Https Android
- 去螨虫能不能用去螨皂?
- Win10(UEFI启动)安装Ubuntu18.04双系统
- ASP.NET Core 注册单例方案
- JAVA开心超级签名系统源码+部署文档
- c语言如何在坐标输出,tc 如何在指定坐标处 输出bmp图片??
- python调用cmd执行命令_详解python调用cmd命令三种方法
- 开式系统管径推荐选型_列管式换热器选型设计计算
- SQL Server数据库应用技术
- dwg格式转换成html,DWG格式转换器BitRecover DWG Converter Wizard
- 动态爬虫之qzone空间自动秒赞 - qq空间自动点赞
- css 间隙,CSS间隙属性
- G: LZY的计算器
- 银河帝国----基地边缘
- 垃圾收集算法,垃圾收集器_实时垃圾收集
- 谷歌公布首颗自研手机芯片Tensor
- 必备干货,程序员进阶升级全攻略!