📜  Linux 中的 chattr 命令和示例

📅  最后修改于: 2022-05-13 01:57:29.745000             🧑  作者: Mango

Linux 中的 chattr 命令和示例

Linux 中的chattr命令是一个文件系统命令,用于更改目录中文件的属性。此命令的主要用途是使除超级用户以外的用户无法更改多个文件。正如我们所知,Linux 是一个多用户操作系统,管理员说,用户可能会删除另一个用户非常关心的文件。为了避免这种情况,Linux 提供了“ chattr ”。简而言之,'chattr' 可以使文件不可变、不可删除、只能追加等等!

概要:

chattr [ -RVf ] [ -v version ] [ mode ] files...

在模式字符串的开头,必须出现以下运算符之一:



  • ' + ' :将选定的属性添加到文件的现有属性中。
  • ' - ' :导致删除选定的属性。
  • ' = ' :使选定的属性成为文件具有的唯一属性。

符号模式的格式为:

{+|-|=}[aAcCdDeijsStTu]

以下是可以使用 chattr 命令设置/取消设置的常见属性和相关标志的列表:

  • A set : atime 记录没有更新。
  • S set :更改在磁盘上同步更新。
  • a set :文件只能以追加模式打开以进行写入。
  • 设置:文件无法修改(不可变),唯一的超级用户可以取消设置该属性。
  • j set :在更新到文件本身之前,所有文件信息都会更新到 ext3 日志。
  • t set :不允许尾部合并。
  • d set :运行转储过程时不再有备份候选。
  • u set : 当这样的文件被删除时,它的数据被保存,使用户可以要求取消删除。

然而,上面的所有命令都不适用于文件,并且可以用于目录(文件夹)以及保护目录不被删除或任何其他类似的事故。但是,在保护目录时,建议使用标志 -R' 以递归保护指定目录中的所有内容。

以下是 chattr 命令的不同选项:

  • -R :用于递归显示目录及其内容的列表属性。
  • -V : 显示程序的版本。
  • -a :用于列出目录中的所有文件,其中还包括名称以句点('.')开头的文件。
  • -d :此选项会将目录列为常规文件,而不是列出其内容。
  • -v :用于显示文件的版本/代号等。

chattr命令的使用 chattr'可以用来保存一些非常重要的系统文件,无论如何都需要保留在主机PC中。此外,为了使目录对于超级用户以外的用户不可删除或不可修改,这是必要的。 'chattr' 的常见用法如下:-

  1. 使文件不可变:这里的命令使名为 file.txt 的文件不可变,因此现在无法对该文件进行操作,直到再次更改文件的属性。
  2. 仅以追加模式打开文件:标志 a' 用于仅以追加模式打开文件。因此,它只能附加,不能修改以前的数据。
  3. 使目录安全:标志 +i' 可用于目录(如下所示)以使目录不可变。此外,这里使用了标志 -R',这使得调用递归并且所有子文件和目录也都是不可变的。

注意: lsattr 命令用于查看目录中文件的属性。这里需要注意的是,文件中的e标志是预先设置的,这意味着该文件正在使用extents来映射磁盘上的块。范围是文件系统相关的。它们很少可拆卸。