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/