修改linux中的一些特殊文件
在我们使用linux系统时很多时候会遇到一些文件是无法修改也无法删除的,这是因为文件被赋予了隐藏属性 我们可以通以下方法进行更改
查看文件隐藏属性
使用指令 lsattr 查看文件的隐藏属性
lsattr /etc/resolv.conf
----i---------e------- /etc/resolv.conf
这里我们可以清楚的看到文件添加了 I 属性 在进行修改时也会提示我们该文件为只读文件
修改文件的隐藏属性
chatrrt -i /etc/resolv.conf
再次查看文件的隐藏属性
lsattr /etc/resolv.conf
--------------e------- /etc/resolv.conf
这里可以看到已经去掉了 i 属性 就可以对文件进行修改了
建议在修改完毕后将 i 属性添加回去,使用以下指令即可
chatrrt +i /etc/resolv.conf
lsattr:查看特殊权限 (文件的第二扩展文件系统属性)
chattr:在文件系统上改变文件属性
lsattr 参数详解
-E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。
-D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。
-R:递归的操作方式;
-V:显示指令的版本信息;
-a:列出目录中的所有文件,包括隐藏文件。
lsattr 经常使用的几个选项-D,-E,-R这三个选项不可以一起使用,它们是互斥的,经常使用的还有-l,-H,使用lsattr时,必须指出具体的设备名,用-l选项指出要显示设备的逻辑名称,否则要用-c,-s,-t等选项唯一的确定某个已存在的设备。
chattr 属性
a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。
chattr 参数
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v<版本编号>:设置文件或目录版本;
-V:显示指令执行过程;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。
chattr 语法
chattr [±=] [ASacdistu] [文件或目录名称]
操作符 ‘+’ 表示将选中的属性增加到指定的文件上; ‘-’ 则表示删除该属性;‘=’ 表示文件仅仅设置指定的属性
参数说明:
±=:分别是”+”(增加)、”-“(减少)、”=”(设定)属性
A:当设定了属性A,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免诸如手提电脑容易产生磁盘I/* O错误的情况;
S:这个功能有点类似sync,是将数据同步写入磁盘中,可以有效避免数据流失;
a:设定a后,这个文件将只能增加数据而不能删除,只有root才能设定这个属性;
c:设定这个属性后,将会自动将此文件压缩,在读取时自动解压缩。但是在存储的时候,会现进行压缩在存储(对于大* 文件很有用);
d:当dump(备份)程序执行时,设定d属性将可使该文件(或目录)具有dump功效;+d 可以备份时跳过该文件
i:这个参数可以让一个文件”不能被删除、更名、设定链接,也无法写入数据,对于系统安全有很大的助益
j:当使用ext3文件系统格式时,设定j属性将使文件在写入时先记录在日志中,但是当filesystem设定参数为data=jour* nalled时,由于已经设定了日志,所以这个属性无效
s:当文件设定了s参数时,它会被完全移出这个硬盘空间
u:与s相反,当使用u配置文件时,数据内容其实还可以存在于磁盘中,可以用来取消删除
大文件(h),
压缩错误(E),
索引目录(I),
压缩的原始访问?(X),