网站首页 > 技术文章 正文
需求
最近一段时间经常发生一些附件丢失的情况,所以需要将附件目录下的文件去加锁,不能给人删除,但是可以去读写和增加文件。
ps:附件是统一放在文件服务器上存储,通过nfs挂载。
思路
考虑用chattr命令来实现-->考虑在ln -s 软链接上限制-->考虑在mount 挂载上限制
下面主要介绍下 chattr命令。
chattr 语法
用chattr命令可以改变一个文件的隐藏属性。其语法格式为:
chattr [ -RVf ] [ -v version ] [ mode ] files…
下面给出几个选项的含义:
最关键的是在[mode]部分,[mode]部分的格式是+-=[acdeijstuACDST],这部分是用来设置文件的属性。其中+表示在原有参数设定基础上追加参数;-表示在原有参数设定基础上移除参数;=表示更新为指定参数。下面列出几个常用的属性参数的含义:
lsattr
用lsattr命令列出文件的隐藏属性。其语法格式为:
lsattr [ -RVadv ] [ files… ]
下面给出几个选项的含义:
下面这条命令显示MySecretDir目录的隐藏属性:
$ lsattr -Rd MySecretDir/ ----i----------- MySecretDir/
总结:
chattr测试是可以实现将一个文件夹下的文件禁止删除同时可以读写这个需求,但是只支持在ext2、ext3、ext4下实现,如果是其他文件系统就不支持了。
上面的附件因为是通过挂载去实现的,文件系统表现为nfs,所以不能用chattr实现,同样软链接也无法实现,mount只能限制ro或者rw,也无法满足需求,所以严格来说还是没有解决这个问题。大家有什么更好的意见可以在下方留言哦~
后面会分享更多关于devops和DBA内容,感兴趣的朋友可以关注下!!
猜你喜欢
- 2024-09-11 Linux系统中共有7种文件类型,您了解吗?
- 2024-09-11 如何优雅地删除 Linux 中的垃圾文件
- 2024-09-11 Linux中如何删除常用方式无法删除的文件
- 2024-09-11 linux下目录操作——进入、显示、复制、移动
- 2024-09-11 Linux 删除空目录(linux中删除空目录)
- 2024-09-11 linux下删除包含特殊符号的文件或目录
- 2024-09-11 Linux下的文件和目录(linux文件与目录的基本操作)
- 2024-09-11 Linux rmdir命令:删除空目录(linux删除一个空目录)
- 2024-09-11 Linux 误删文件恢复命令及方法(linux 误删文件恢复命令及方法是什么)
- 2024-09-11 如何在 Linux 中删除大于或小于 X 大小的文件
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 513℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 488℃MySQL service启动脚本浅析(r12笔记第59天)
- 467℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 465℃启用MySQL查询缓存(mysql8.0查询缓存)
- 445℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 424℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 422℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)