chattr权限主要的作用是用来保护系统中重要的文件或目录不被误操作删除而存在的。
------------------------------------------------
命令格式:
chattr [+-=][选项] 文件或目录名
.+代表增加权限;-代表删除权限;=代表等于某权限。
.常见的选项
i,如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据,只能查看;如果对目录设置i属性,那么可以自由查看与修改目录下文件的数据,不允许建立新文件和删除文件。
a,如果对文件设置a属性,那么只能在文件内容已存在的基础上中追加数据,不允许删除文件与修改原先的数据;如果对目录设置a属性,可自由查看、修改目录下文件的数据的同时,还允许建立文件,但不允许删除。
.chattr权限对root用户也生效
.使用lsattr目录查看文件系统的属性,支持的选项-a与-d
------------------------------------------------
首先演示对文件设置chattr权限的i选项
touch /tmp/file-i //默认权限是644
vim /tmp/file-i //使用vim添加数据,比如123
cat /tmp/file-i
chattr +i /tmp/file-i //对文件添加chattr的i选项
lsattr -a /tmp/file-i
可以看到,对于i选项,无法删除、改名,也无法向文件内容增加内容。相当于把这个文件锁起来,什么都不能做,只能查看。
图1
------------------------------------------------
然后演示对目录设置chattr权限的i选项
mkdir /tmp/F
cd /tmp/F
touch file
vim file //向文件中写入数据,比如test
cat file //查看内容
cd .. //回到tmp目录下
chattr +i F/
lsattr -a //e表示ext4文件系统
此时,/tmp/F/file文件能自由修改,/tmp/F目录下不允许建立新的文件与删除文件。
图2
图3
基于i选项对文件与目录的两个情况,针对文件,只能查看;针对目录,只能对目录下已经存在的文件进行自由写入数据与查看。所以,为了防止误操作,先在目录加i选项,然后在目录下的文件添加I选项,可有效防止用户的误操作。
------------------------------------------------
相比i选项对文件的严格,a选项对文件稍微宽松一些,只能在文件原先存在数据的基础上追加数据。追加方式的不能通过vim编辑器,只能通过这种方式追加:echo 内容 >> 文件名
如果对目录设置a属性,可自由查看、修改目录下文件的数据的同时,还允许建立文件,但不允许删除。这里不具体演示。
说的那么多,不如上图来的直接:
图4
领取专属 10元无门槛券
私享最新 技术干货