Linux 下防止文件被误删除

chattr 命令简介  

这里我们需要使用到一个命令是:chattr ,这个命令在大部分的 Linux 发行版里都有,所以对于它的安装就不赘述了。它的基本用法如下:

$ chattr 操作符 属性 文件名

对于操作符,有以下三种:

+ :给文件增加属性

- :去除文件属性

= :设置文件的仅有属性

注意,这里讲的属性不是文件对应的系统属性,而是 chattr 给文件赋予的属性。本文要讲的属性有以下两个:

a - 允许给文件追加内容

i - 保护模式(不允许删除或修改)

但是,它的属性可以设置很多,有兴趣的小伙伴可以去看下它的 man 手册。

$ man chattr

  防止文件被误删除或修改  

假如我们现在有个重要文件 file.txt ,现在我们使用 chattr 对它进行保护。在这里,我们给文件增加 +i 属性:

$ sudo chattr +i file.txt

然后,我们可以使用 lsattr 命令查看它的属性。类似的输出如下:

$ lsattr file.txt

----i---------e---- file.txt

现在,我们来尝试一下,手贱去删除那个文件:

$ rm file.txt

rm: cannot remove 'file.txt': Operation not permitted

咦?不允许删除?难道权限不够?

那好,我 sudo 一下!

$ sudo rm file.txt

rm: cannot remove 'file.txt': Operation not permitted

我 X ,居然还是不能删除?

我们再来试一下,修改文件的内容。

$ echo 'hello world!' >> file.txt

bash: file.txt: Operation not permitted

可以看出来,依然不能对文件进行修改了。


所以,可以看出来,现在这个文件得到了很好的保护,既不能被删除(各种方法都不行),也不能被修改。

那我们要怎么去除这个保护呢?很简单,只需加上 -i 这个选项。

$ sudo chattr -i file.txt

现在,文件又恢复原样了,我们想修改就修改,想删除就删除。

$ echo 'Hello World!' >> file.txt

$ cat file.txt

Hello World!

$ rm file.txt

 防止文件夹被误删除或修改  

上面讲到的是保护文件,那么文件夹要如何保护呢?

其实也是一样,使用 +i 这个选项。假如我们现在有个 dir1 目录,里面有个 file.txt 文件。我们来对这个文件夹进行保护。

$ sudo chattr -R +i dir1

在这里,我们使用 -R 选项表示可以递归作用到目录里所有的文件(包括子目录)。

现在,我们同样测试一下是否可以被删除或修改。

$ rm -rf dir1

$ sudo rm -rf dir1

rm: cannot remove 'dir1/file.txt': Operation not permitted

$ echo 'hello world!' >> dir1/file.txt

bash: file.txt: Operation not permitted

所以与文件一样,我们成功地对文件夹进行了保护。

  防止文件 / 目录被删除,但允许追加内容  

现在我们知道怎么防止文件 / 目录被误删除或修改了,但是,假如我们不想要文件已有内容被修改,但允许别人在文件末尾追加内容,要怎么操作?

这时候我们就需要使用 +a 这个选项了。

对文件:

$ sudo chattr +a file.txt

对目录:

$ sudo chattr -R +a dir1

现在,我们来确认一下,文件是否可以被追加内容。

$ echo 'Hello World!' >> file.txt

$ echo 'Hello World!' >> dir1/file.txt

我们再使用 cat 命令去查看一下内容:

$ cat file.txt

Hello World!

$ cat dir1/file.txt

Hello World!

可以看出来,文件都是可以被追加的。


但是,file.txt 还有 dir1/file.txt 依然不能被删除。

如果你想去掉可追加的属性,可以使用 -a 这个选项。

对文件:

$ sudo chattr -R -a file.txt

对目录:

$ sudo chattr -R -a dir1/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352

推荐阅读更多精彩内容