在Linux传统文件系统下隐藏属性的修改
在Linux系统中,一个文件有若干个属性,如读写执行(r、w、x)等基本权限,以及表达这个文件类型的一些属性,如是否为文件“-”或目录“d”等常见的属性。除此之外Linux系统ext2、ext3、ext4等传统文件系统下包含有一些隐藏的属性,例如可以修改隐藏属性让文件的拥有者也没有办法进行修改等操作,从而对文件的安全性起到保护作用。
查看这些系统下的隐藏属性可以使用lsattr命令,而修改这些属性的命令是chattr,只可惜在Ceontos 7.X系统中使用的是默认xfs文件系统,但是它不支持完整的chattr命令参数而只是支持部分的修改参数。
㈠使用命令lsattr查看文件的隐藏属性
特别说明,要修改文件的隐藏属性,可以使用命令chattr,但是在xfs文件系统上只支持部分的参数,只有在ext2、ext3、ext4文件系统上这个命令才完整的生效。
查看文件的隐藏属性命令:lsattr
语法格式:lsattr [选项] 文件名或目录名
支持的选项主要有:
⑴-a:显示所有文件的隐藏属性,包括隐藏文件的隐藏属性;
⑵-d:后接目录仅列出这个目录的隐藏属性而不显示出这个目录中文件的隐藏属性;
⑶-R:递归地列出目录中的隐藏属性,包括子目录。
实例如图2-39所示:
图2-39 显示文件的隐藏属性
㈡修改文件的隐藏属性
命令:chattr -RVv [+-=][选项] 文件名或目录名
[+-=]表示的意思是:
①+:增加一个特殊的参数,原参数存在则不变;
②-:减去一个特殊的参数,未减去的原参数存在也保持不变;
③=:直接把参数添加进去。
常用的主要选项参数有:
⑴A:设置这个选项则文件的存取时间(atime)不会被修改,这样做的好处就是当机器的存取(I/O)速度较慢时避免频繁读写操作;
⑵S(大写的字母s):设置这个参数时当文件有数据修改时会修改同步写入到磁盘;
⑶a:设置这个参数时文件只能增加数据,原文件数据不能修改也不能删除,只有root用户才有权限设置这个参数;
⑷c:设置这个参数后,自动将此文件压缩,而读取这个文件时又自动解压缩,但是在存储时,先进行压缩后再存储,对大文件实用;
⑸d:设置这个参数后当执行dump程序时,这些文件不会被dump程序备份;
⑹i:设置这个参数后,文件将不能被删除、改名,并且设置链接也无法写入或新增数据,始终保持原样,只有root用户才能设置这个参数;
⑺s:设置这个参数后当删除这个文件时此文件将从硬盘上彻底消失,也无法完全恢复,小心这个参数选用;
⑻u:这个参数与“s”相反,设置这个参数后文件被删除了,但数据还保留在硬盘中。
-R:递归地修改目录以及其下内容的属性,如果在递归目录时遇到了符号链接,将跳过。
选项的功能总结如下:
chattr 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性,它的符号模式有+-=[ASacdisu]几种格式:
操作符“+”用来在文件已有属性的基础上增加选定的属性;
操作符“-”用来去掉文件上的选定的属性;
而操作符“=”用来指定该文件的唯一属性。
字符“ASacdisu”用作文件新属性的选项:
不更新atime(A),同步更新(S),只能添加(a),压缩(c),不可变(i),不可转移(d),删除保护(s)以及不可删除(u)等。
在xfs文件系统中只支持AadiS选项。
实例演示选项“a”、“i”的功能:
如图2-40所示。
①给文件添加“a”隐藏属性参数,如图2-40所示。
这个性能在保护日志文件的时候非常有用,加入“a”隐藏属性后文件只能增加内容而不能删除内容,对保存过的日志数据很有用。
②给文件添加“i”属性参数,如图2-41所示。
连超级用户“root”也无法删除、修改文件,保护得够好吧?
如果觉得《linux修改隐藏文件生效 在Linux传统文件系统下隐藏属性的修改-linux修改文件名...》对你有帮助,请点赞、收藏,并留下你的观点哦!