Linux基础知识之文件隐藏属性
时间:2022-05-05
本文章向大家介绍Linux基础知识之文件隐藏属性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这几天温习下 Linux 基础知识,基础里面较为薄弱的知识点我会在这里记录一下,以便回头查看
Linux 下的文件除了权限属性,还有一些隐藏属性,必须使用lsattr来显示,如下所示:
[root@localhost ~]# lsattr test
------------- test
结果中第一列是 13 个短横杆,其中每一个横杆都是一个属性,如果当前位置上设置了该属性就会显示相对应的字符。
如果要设置文件的隐藏属性,需要使用chattr命令。这里介绍几个常用的隐藏属性,第一种是a属性。拥有这种属性的文件只能在尾部增加数据而不能被删除。个人觉得用于重要的日志类文件非常不错,即可以继续追加内容,又可以避免被恶意删除。
下面实例使用chattr来给该文件添加a属性并测试:
[root@localhost ~]# ll test
-rwxrwxrwx 1 root root 187 Dec 5 07:55 test
[root@localhost ~]# chattr +a test
[root@localhost ~]# lsattr test
-----a------- test
[root@localhost ~]# rm -rf test
rm: cannot remove `test': Operation not permitted
[root@localhost ~]#
如上所示,设置了a属性的文件(夹),即便权限是 777,即便是 root 用户都不能删除它,但是实际上可以以尾部新增(append)的方式继续像该文件中写入内容:
[root@localhost ~]# lsattr test
-----a------- test
[root@localhost ~]# cat test
first line
[root@localhost ~]# >test
-bash: test: Operation not permitted
[root@localhost ~]# echo second line >>test
[root@localhost ~]# cat test
first line
second line
[root@localhost ~]#
还有一种比较常见的属性是i属性。设置了这种属性的文件将无法写入、改名、删除,即使是 root 用户也不行。这种属性常用于设置在系统或者关键服务中的配置文件,这对提升系统安全性有很大帮助。
更多隐藏属性请使用man chattr查看。
- Java中UUID的2种创建方法——有代码实例
- 使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)
- Android基础总结(3)——UI界面布局
- 常见.NET功能代码汇总 (2)
- 问题系列之Java中删除有序List的重复数据——提供两种方法
- 二叉树的基本概念和遍历
- Java中MD5加密算法实现方法——附上具体代码
- 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法
- Java中处理正则表达式的工具类——总有一个适合你
- 【Spark研究】用Apache Spark进行大数据处理第一部分:入门介绍
- “一切都是消息”--MSF(消息服务框架)入门简介
- 【Spark研究】用Apache Spark进行大数据处理第二部分:Spark SQL
- Android基础总结(2)——活动Activity
- Java实现的IP处理工具类——可用于项目
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法