非常多时候,Linux设备被区别的用户运用。因此呢,这些用户有机会拜访一组一起的文件。这就为有些问题打开了前门,例如意外删除或编辑重要文件,而做为管理员,你肯定不期盼出现这般的事情。值得幸运的是,存在一个名为“chattr”的命令,它能够在以上场景中帮忙到你。下面,咱们运用有些容易理解的示例来讨论这个工具。本页面所有的例子都在Ubuntu 16.04 LTS上进行了测试。
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作为只读文件,就不会有其他操作在文件上取得成功。
重视:正如您已然观察到的,您需要持有运用chattr命令的root权限。
Q2. chattr 命令怎样取消只读属性?
这很简单--你所要做的便是运用-i选项替换+i。例如:
chattr -i test.txt
Q3. chattr 命令怎样给一个文件添加只能追加(append-only)的权限?
有时,您可能不期盼对文件进行完全限制。我的意思是,您可能想要为用户供给对文件的追加的拜访,这般就能够添加新的内容,然则现有的内容不可被删除或编辑。这亦能够经过+a选项。
chattr +a test.txt
此刻能够附加内容到文件中,然则不可编辑文件中的现有信息,亦不可删除文件。要取消这种行径,只需运用-a选项。
chattr -a test.txt
Q4. chattr 命令怎样对一个目录中的所有文件添加限制?
这能够运用标记-R来完成,它准许您递归地改变目录及其内容的属性。例如,倘若您想让test-dir目录中的所有文件都是只读的,那样请运用以下方式:
chattr -R +i ./test-dir/
下面的截图表示了只读限制被成功地应用到目录中的所有文件中。
Q5. 怎样查看 chattr 命令赋予文件上的属性?
到日前为止,为了检测是不是成功执行了chattr目录,咱们尝试执行有些操作,如编辑文件或删除它。然则有一个单独的命令,能够让您容易地查看文件是不是有某个属性。这个命令是lsattr。
lsattr [FILENAME]
例如,下面的截图表示了lsattr的输出,清楚地显示“i”属性被应用到目录中的所有文件中。
再确认一下,这是运用-i选项后的输出。
您能够在上面的截图中看到,只读属性从所有文件中删除了。
总结
倘若您是一个系统管理员,或在Linux设备上管理用户,那样您此刻明白了,chattr是一个必须晓得的命令行工具。有效地运用这个命令能够避免非常多麻烦。 让您学习到的每一节课都有所收获
《Linux就该这么学》是一本由资深运维专家刘遄老师及国内多名红帽架构师(RHCA)基于最新RHEL7系统一起编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。荣获双11、双12购物狂欢节IT品类书籍销量冠军,2017年、2018年国内读者增速最快的技术书籍,您能够在京东、当当、亚马逊及天猫搜索书名后购买,也可加刘遄老师微X交流学习(手指按住下图3秒钟就可自动扫描)~
刘遄老师QQ:5604215
☀ Linux技术交流群:560843(新群,火热加群中……)
☀ 官方站点:www.linuxprobe.com
☀ 书籍在线学习(电脑在线阅读效果更佳):
http://www.linuxprobe.com/chapter-00.html
《Linux就该这么学》是一本基于最新Linux系统编写,面向零基本读者的技术书籍。从Linux基本知识讲起,而后渐进式地加强内容难度,仔细讲解Linux系统中各样服务的工作原理和配置方式,以匹配真实生产环境对运维人员的需求,突显内容的实用性。想要学习Linux系统的读者能够点击"阅读原文"按钮认识这本书,同期这本书亦适合专业的运维人员阅读,做为一本非常有参考价值的工具书!
|