之前对文件权限及属性还存在着一些混淆与模糊,故为了加深印象特写此博文,如有错误或者不严谨到地方,请各位读者一定要积极指出,欢迎大家提问,谢谢!
文件的权限
顾名思义,文件到权限就是为了保障文件的安全,从而对文件的使用者进行了一些操作限制的一种安全概念。
r:表示拥有该权限的用户可以在文件目录下面查看文件,例如ls
w:表示拥有该权限的用户可以在目录下面新建,修改,移动,删除等操作
x:表示拥有该权限到用户可以cd进入目录,一般对目录都是r和x同时赋予,否则不能进入目录
chmod命令
chmod | u | +(加入某种属性) -(去掉某种属性) =(设置成某种属性) | r | 文件或者目录的文字 |
g | w | |||
o | x | |||
a |
r | w | x |
4 | 2 | 1 |
chattr:设置文件隐藏属性
SUID就是Set UID。
1.拥有Suid权限到前提就是文件必须是二进制可执行文件
2.执行者对于这个二进制文件具有x的可执行权
3.执行者将具有该文件所有者的权限,说明白点就是执行者具有了root权限
比如:在Linux系统中普通用户也可以使用passwd命令来修改自己的密码。但是密码文件shadow只有root用户有读权限,其他用户没有任何权限,那么普通用户是怎样通过passwd命令来修改自己的密码呢?我们看下/usr/bin/passwd程序的属性就知道了。
[root@localhost test]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
我们发现passwd程序user的x权限位变成了s。那么在这里就是这个s使普通用户有权限来执行这个程序。它让普通用户在执行passwd这个程序时暂时拥有了root的权限。
SGID
SGID就是Set GID
1.拥有SGID权限的前提就是文件必须是二进制可执行文件
2执行者对于该文件具有可执行权限
3.执行者在执行该文件时会获得该文件组的用户组的支持
SGID设置在目录上的作用是:
1.用户若是对此目录具有r和x的权限时,该用户能够进入此目录
2.用户在此目录的有效组将会变成此目录的用户组
3.若用户在此目录下拥有W权限(可以新建文件),则用户创建的用户组与此目录的用户组相同
SBIT
④ 设置SUID/SGID/SBIT
注意,在设置目录或者二进制文件的特殊属性时,一定要给予这些目录或者文件可执行权限。如果未给予可执行权限,即使设置了特殊属性,也将会是空的,会用大写的S和T表示。