linux 文件扩展属性

linux 文件扩展属性

linux 下的文件和目录,除了有 rwx 可读、可写、可执行的权限属性之外,还有其它扩展属性。比如只能追加 (append only)、不可变更(immutable),加上这类属性,可以提高文件的安全性。

修改文件属性为(append only)

$ chattr +a test.log

当设置文件属性为(append only)后,文件内容只能追加,不能覆盖,也不可删除。如果要删除文件,只能先取消(append only)属性。

$ chattr -a test.log

另一个属性也比较常用,即 immutable 不可变属性,文件不能修改,也不能删除。

对于只读文件,加上 immutable 属性可以防删除。

除了只读和追加属性,还有以下属性

  • a append only(只能追加)
  • c compressed
  • d no dump
  • e extent format
  • i immutable (不可修改,不可删除)
  • j data journalling
  • s secure deletion
  • t no tail-merging
  • u undeletable (其他用户不可删除,root不受限制)
  • A no atime updates
  • C no copy on write
  • D synchronous directory updates
  • S synchronous updates
  • T top of directory hierarchy

当前用得上的属性分别为 a, i,u,分别用于可追加、只读、能修改但不能删除。

这些扩展属性是独立于 rwx 之外的,就算目录权限设置为 777,当设置了 immutable 属性后,文件也是不可以删除的。

对于目录权限,当目录设置为只读后,一般用户是没有权限删除目录内的内容的,但root用户不受此限制,root 在目录为只读时一样有创建和删除文件的权限,这也是 root 用户误操作时可以删除根目录/ 的原因。

为了防止一些重要文件被删除或修改,此时就需要使用扩展权限。

posted @ 2023-04-06 22:05  红尘过客2022  阅读(216)  评论(0编辑  收藏  举报