文中有不对或者有不清楚的地方,请大家告诉我,谢谢!
Linux文件特殊属性
Linux文件特殊属性主要包括它的默认权限、隐藏属性和特殊权限(SUID/SGID/SBIT).
下面我们就来分别讲解它的这些特殊属性.
1. Linux文件默认权限:umask
我们在新建立一个文件时,它都有自己的默认属性.它们的默认属性是通过“umask”值来设定的.
那么如何来查看和设置umask值呢?
① 查看umask值
[root@localhost /]#umask(数字形式)
0022
[root@localhost /]#umask –S(符号形式)
u=rwx,g=rx,o=rx
上面的命令显示出umask值的两种表现形式.我们看到数字表现出来的有4位数字,第一位数字用来表示特殊权限,我们在后面介绍,第二三四位数字分别用来表示用户/组/其他用户的权限.
在默认权限的属性上,目录文件和普通文件是不同的.我们不希望普通文件具有可执行权限,,普通文件在默认情况下是没有执行权限的.又目录文件需要具有可执行权限才可以进入,普通文件的默认属性最大为666,目录文件的默认属性最大为777.
② umask值的意义
umask值就是指“Linux文件的默认属性需要减掉的权限”.比如Linux普通文件的最大默认属性是666,目录文件的最大属性是777.但是我们不想要用户在新建立文件时,文件的属性是666或777,那么我们就要设置umask值.Linux系统预置的umask值是022,那么用户在新建立普通文件时,普通文件的属性就是666-022=644,新建立目录文件时,目录文件的属性就是777-022=755.
③ umask值设置
我们不想要新建立的普通文件的属性是644,目录文件的属性是755,我们想要新建立普通文件的属性是664,新建立目录文件的属性是775.那么我们就设置umask值为002即可.设置方法就是“umask 002”.
2. Linux文件隐藏属性
文件都具有隐藏属性,隐藏属性对于系统安全来说很重要.
① 设置文件隐藏属性
[root@localhost /]#chattr [-R] [- =] [AacDdijsSu] 文件名
(A)no atime updates;(a)append only;(c)compressed;(D)synchronous directory updates;(d)no dump;(i)immutable;(j)data journalling;(s)secure deletion;(S)synchronous updates;(u)undeletable;(T)and top of directory hierarchy;(t)no tail-merging.
常用参数意义:
-R:递归处理.
-:删除某个隐藏属性,其他原本存在的属性不改变.
:添加某个隐藏属性,其他原本存在的属性不改变.
=:将隐藏属性设置为指定的参数,其他原本存在的属性会被改掉.
A(atime):如果设置了A属性,则这个文件的访问时间atime不能被修改.
a(append only):如果设置了a属性,则这个文件只能增加数据,不允许任何进程覆盖或截断这个文件.如果某个目录具有这个属性,那么只能在这个目录下建立和修改文件,而不能删除任何文件.
i(immutable):如果设置了i属性,则不能对这个文件做任何修该.如果某个目录具有这个属性,那么只能修改该目录下的文件,而不能建立和删除文件.
s(secure deletion):如果设置了s属性,则这个文件将从硬盘空间中完全删除.
u(undeletable):与s完全相反.如果设置了u属性,则这个文件虽然被删除了,但是还在硬盘空间中存在,还可以用来还原恢复.
② 查看文件隐藏属性
文件既然有隐藏属性,那么我们如何查看这些文件的隐藏属性呢?
[root@localhost /]#lsattr [-RVadlv] 文件名
-R:递归显示目录文件下的所有文件.
-a:显示隐藏文件的属性.
[root@localhost /]#lsattr –Ra CaiWu
-----a------- CaiWu/.bb.swo
------------- CaiWu/aa
CaiWu/aa:
------------- CaiWu/aa/.
-----a------- CaiWu/aa/..
-----a------- CaiWu/.
------------- CaiWu/..
------------- CaiWu/bb
-----a------- CaiWu/.bb.swp
-----a------- CaiWu/.bb.swn
-----a------- CaiWu/. |