良许Linux教程网 干货合集 Linux chattr 命令使用实例

Linux chattr 命令使用实例

chattr 命令用于设置文件的隐藏权限,格式为“chattr [参数] 文件”。如果想要把某个隐 藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件, 则需要追加“-参数”

Linux chattr 命令使用实例

Linux chattr 命令

一般,“chattr”命令用于更改Linux文件上属性。以下是它的语法:

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

下面是man手册对它的描述:

chattr 改变一个Linux文件系统上的文件属性。

一个通用格式是:+-=[aAcCdDeijsStTu]

‘+’选项,将给文件添加属性;‘-’选项,移除文件中的属性;‘=’选项,使得文件只有这些属性。

字母 ‘aAcCdDeijsStTu’ 可以赋予文件的新属性:

a:只能附加数据A:不修改访问时间c:压缩文件,C:不执行写入时复制(COW) 。多个调用者获取同一个资源,这时,另一个调用者对这资源进行了修改,不生成一个副本给d:不 dump D: 同步更新目录e:extent格式(一种文件系统格式)i:不能修改。不能删除或重命名,不能创建到该文件的链接,也不能向该文件写入数据。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 能力的进程才能设置或清除此属性。j:数据日志s:安全删除S:同步更新t:不知道文件尾部合并T:目录层次的顶部u:文件被删除时,其内容会被保存,后面可以请求恢复

下面的只读属性,可以使用 lsattr列出,但不能被 chattr 修改:

E:压缩错误h:巨大的文件I:索引目录N:内联数据X:压缩原始访问Z:压缩文件是脏的

并不是所有文件系统都支持所有标志;参考文件系统手册了解如btrfs(5), ext4(5), 和 xfs(5)文件格式的更多详情。

下面是一些问答式的例子,这些例子应该能让你对chattr命令的工作原理有一个很好的了解。

Q1. chattr 命令如何使用?

假设您想要使一个文件成为只读的。因此,您所要做的就是使用+i选项和文件的名称作为参数来运行chattr命令。

如:

chattr +i test.txt

下面的截图显示,一旦使用chattr成为只读文件,就不会有其他操作在文件上取得成功。详解Linux chattr 命令,超越权限任性修改详解Linux chattr 命令,超越权限任性修改

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

Q2. chattr 命令如何取消只读属性?

这很简单–你所要做的就是使用-i选项替换+i。例如:

chattr -i test.txt

详解Linux chattr 命令,超越权限任性修改详解Linux chattr 命令,超越权限任性修改

Q3. chattr 命令如何给一个文件添加只能追加(append-only)的权限?

有时,您可能不希望对文件进行完全限制。我的意思是,您可能想要为用户提供对文件的追加的访问,这样就可以添加新的内容,但是现有的内容不能被删除或编辑。这也可以通过+a选项。

chattr +a test.txt

详解Linux chattr 命令,超越权限任性修改详解Linux chattr 命令,超越权限任性修改

现在可以附加内容到文件中,但是不能编辑文件中的现有信息,也不能删除文件。要取消这种行为,只需使用-a选项。

chattr -a test.txt

Q4. chattr 命令如何对一个目录中的所有文件添加限制?

这可以使用标记-R来完成,它允许您递归地改变目录及其内容的属性。例如,如果您想让test-dir目录中的所有文件都是只读的,那么请使用以下方式:

chattr -R +i ./test-dir/

下面的截图显示了只读限制被成功地应用到目录中的所有文件中。详解Linux chattr 命令,超越权限任性修改详解Linux chattr 命令,超越权限任性修改

Q5. 如何查看 chattr 命令赋予文件上的属性?

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

lsattr [FILENAME]

例如,下面的截图显示了lsattr的输出,清楚地表明“i”属性被应用到目录中的所有文件中。详解Linux chattr 命令,超越权限任性修改详解Linux chattr 命令,超越权限任性修改

再确认一下,这是使用-i选项后的输出。详解Linux chattr 命令,超越权限任性修改详解Linux chattr 命令,超越权限任性修改

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

总结

如果您是一个系统管理员,或者在Linux机器上管理用户,那么您现在明白了,chattr是一个必须知道的命令行工具。有效地使用这个命令可以避免很多麻烦。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

730e0cf3d7ca7bcb0a46cd7b54597c63f6246b60021c
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部