Linux chattr初学者命令教程(5个示例)

Linux chattr初学者命令教程(5个示例)

很多时候,Linux机器被不同的用户使用。 因此,这些用户有可能访问一组通用文件。 这为诸如意外删除或编辑重要文件等问题打开了大门,你作为管理员肯定不会想要这样做。

值得庆幸的是,存在一个命令 - 被称为chattr - 这是为了帮助您特别针对这些场景而开发的。 在本教程中,我们将使用一些易于理解的示例来讨论此工具。 但在我们这样做之前,值得一提的是,这里的所有示例都已经在Ubuntu 16.04 LTS上进行了测试。

Linux chattr命令

基本上,chattr命令用于更改Linux文件系统上的文件属性。 以下是它的语法:

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

以下是手册页中所说的内容:

       chattr changes the file attributes on a Linux file system.

       The format of a symbolic mode is +-=[aAcCdDeijsStTu].

       The  operator  '+'  causes  the  selected attributes to be added to the
       existing attributes of the files; '-' causes them to  be  removed;  and
       '=' causes them to be the only attributes that the files have.

       The  letters  'aAcCdDeijsStTu' select the new attributes for the files:
       append only (a), no atime updates (A), compressed (c), no copy on write
       (C), no dump (d), synchronous directory updates (D), extent format (e),
       immutable (i), data journalling (j), secure deletion  (s),  synchronous
       updates  (S),  no tail-merging (t), top of directory hierarchy (T), and
       undeletable (u).

       The following attributes are read-only, and may be listed by  lsattr(1)
       but  not  modified  by  chattr:  compression  error (E), huge file (h),
       indexed directory (I), inline data (N), compression raw access (X), and
       compressed dirty file (Z).

       Not  all  flags  are supported or utilized by all filesystems; refer to
       filesystem-specific man pages such as btrfs(5), ext4(5), and xfs(5) for
       more filesystem-specific details.

以下是一些Q&A风格的示例,可以让您对chattr命令的工作原理有所了解。

Q1。 如何使用chattr命令?

假设您要将文件设为只读。 因此,您所要做的就是使用+ i选项运行chattr命令并将文件名作为输入。

例如:

chattr -i test.txt

以下屏幕截图显示,一旦使用chattr成为只读文件,该文件上没有其他操作成功。

注意 :正如您已经观察到的那样,您需要具有root权限才能使用chattr命令。

Q2。 如何删除chattr强加的只读限制?

这很简单 - 您所要做的就是使用-i选项而不是+ i。 例如:

chattr -i test.txt

因此,您可以看到使用-i选项删除了只读因子。

Q3。 如何为文件提供仅附加权限?

有时,您可能不希望对文件进行完全限制。 我的意思是,您可能希望为用户提供仅对文件的附加访问权限,以便可以添加新信息,但不能删除或编辑现有信息。 这也可以通过+ a选项使用chattr。

chattr +a test.txt

因此,您可以看到我们现在可以附加到文件,但无法编辑文件中的现有信息以及删除文件。 要反转此行为,只需使用-a选项。

chattr -a test.txt

Q4。 如何使用chattr将限制应用于目录中的所有文件?

这可以使用标志-R来完成,它允许您递归地更改目录及其内容的属性。 例如,如果要将test-dir目录中的所有文件设置为只读,请按以下方式使用chattr命令:

chattr -R +i ./test-dir/

以下屏幕截图显示了只读限制已成功应用于目录中的所有文件。

Q5。 如何检查应用于文件的chattr属性?

到目前为止,为了检查是否成功应用了chattr属性,我们尝试执行编辑文件或删除文件等操作。 但是有一个单独的命令可以让您轻松查看是否应用了属性。 有问题的命令是lsattr

lsattr [FILENAME]

例如,以下屏幕截图显示了lsattr输出,清楚地表明'i'属性已应用于目录中的所有文件。

只是再次确认,这是使用-i选项后的输出。

因此,您可以在上面的屏幕截图中看到,从所有文件中删除了只读属性。

结论

如果您是系统管理员,或者通常在Linux机器上管理用户,您可能会同意chattr是必须知道的命令行工具。 有效地使用该命令可以避免很多麻烦。 本文应该足以让您开始使用该命令。 一旦您练习了我们在这里讨论过的示例,请访问该工具的手册页以了解有关它的更多信息。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏