欢迎大家分享自己的文档,请点击查阅:分享方法,![]() 如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……
1.作用
修改ext2 和ext3 文件系统属性(attribute),使用权限超级用户。
2.格式
chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
3.主要参数
-R:递归处理所有的文件及子目录。
-V:详细显示修改内容,并打印输出。
-:失效属性。
+:激活属性。
= :指定属性。
A:Atime,告诉系统不要修改对这个文件的最后访问时间。
S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写
到磁盘。
a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖
或
截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改
文件,而不允许删除任何文件。
i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,
那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D:检查压缩文件中的错误。
d:No dump,在进行文件系统备份时,dump 程序将忽略这个文件。
C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的
是
解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁
盘。
s:Secure Delete,让系统在删除这个文件时,使用0 填充文件所在的区域。
u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以
后能够恢复删除这个文件。
4.说明
chattr 命令的作用很大,其中一些功能是由Linux 内核版本来支持的,如果Li
nux 内核版本低于2.2,那么许多功能不能实现。同样-D 检查压缩文件中的错
误的功能,需要2.5.19 以上内核才能支持。另外,通过chattr 命令修改属性能
够提高系统的安全性,但是它并不适合所有的目录。chattr 命令不能保护/、/d
ev、/tmp、/var 目录。
Linux 命令:lsattr
功能说明:显示文件属性。
语 法:lsattr [-adlRvV][文件或目录...]
补充说明:用chattr执行改变文件或目录的属性,可执行lsattr 指令查询其属
性。
参 数:
-a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录".
"与上层目录".."。
-d 显示,目录名称,而非其内容。
-l 此参数目前没有任何作用。
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 显示文件或目录版本。
-V 显示版本信息。
#################### 测试 #####################
创建测试所用的文件和目录
[root@cacti xixi]# cd /qubaoquan/
[root@cacti qubaoquan]# tree
.
`-- test
`-- haha
`-- xixi
`-- testfile
3 directories, 1 file
1. 查看现在的文件和目录的属性
[root@cacti qubaoquan]# lsattr -R /qubaoquan
------------- /qubaoquan/test
/qubaoquan/test:
------------- /qubaoquan/test/haha
/qubaoquan/test/haha:
------------- /qubaoquan/test/haha/xixi
/qubaoquan/test/haha/xixi:
------------- /qubaoquan/test/haha/xixi/testfile
2. 限制任何的进程只能修改目录之下的文件,不允许建立和删除文
件。
[root@cacti qubaoquan]# chattr -R +i /qubaoquan
3. 查看目录属性
[root@cacti qubaoquan]# lsattr -R /qubaoquan
----i------- /qubaoquan/test
/qubaoquan/test:
----i------- /qubaoquan/test/haha
/qubaoquan/test/haha:
----i------- /qubaoquan/test/haha/xixi
/qubaoquan/test/haha/xixi:
----i------- /qubaoquan/test/haha/xixi/testfile
4. 验证-i 选项
[root@cacti qubaoquan]# cd /qubaoquan
[root@cacti qubaoquan]# touch fsdfdsf
touch: cannot touch `fsdfdsf': Permission denied
[root@cacti qubaoquan]# rm -rf test/
rm: cannot remove `test//haha/xixi/testfile': Permission denied
5. 限制允许在这个目录下建立和修改文件,而不允许删除任何文件
[root@cacti qubaoquan]# chattr -R -i +a /qubaoquan
6. 查看属性
[root@cacti qubaoquan]# lsattr -R /qubaoquan
-----a------- /qubaoquan/test
/qubaoquan/test:-
----a------- /qubaoquan/test/haha
/qubaoquan/test/haha:
-----a------- /qubaoquan/test/haha/xixi
/qubaoquan/test/haha/xixi:
-----a------- /qubaoquan/test/haha/xixi/testfile
7. 验证-a 选项
[root@cacti /]# cd /qubaoquan
[root@cacti qubaoquan]# touch pppp
[root@cacti qubaoquan]# ls
pppp test
[root@cacti qubaoquan]# rm -rf pppp
rm: cannot remove `pppp': Operation not permitted
[root@cacti qubaoquan]# rm -rf test
rm: cannot remove `test/haha/xixi/testfile': Operation not permitted
[root@cacti qubaoquan]# echo "12345" >pppp
[root@cacti qubaoquan]# cat pppp
12345
转载请注明linux系统运维: |