Linux中的特殊权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中的特殊权限相关的知识,希望对你有一定的参考价值。
在Linux的系统中,常见的文件或目录的权限为r,w,x三种。三种权限的相互组合,可以给目录或文件做出各种限制。其实除了这3中常见的权限外,还有3个特殊权限,分别为suid,guid,sticky,下面介绍一下这3中特殊权限的作用和修改。
1.suid
当对一个可执行的二进制文件作用了suid权限之后,任何人在执行该文件时临时拥有其所属人的权限。
用法:chmod u+/-s
如下图举例,在1处查看/bin下的二进制文件touch,是没有suid权限的,当在普通用户下用/bin/touch创建一个aa文件时,文件所属人为当前普通用户sunwukong;在2处,给/bin/touch加上一个suid权限,再在普通用户下创建一个bb文件,可以查看到bb文件的所属人为root,而不是普通用户sunwukong。
2.sgid
(1) 当对一个可执行的二进制文件作用了sgid权限之后,任何人在执行该文件时临时拥有其所属组的权限。
用法:chmod g+/-s
给/bin/touch加上sgid权限后,在普通用户下调用该文件创建一个文件cc,其所属组为root。
(2) 当对于一个目录作用了sgid权限之后,任何人在该目录下创建的文件的所属组与该目录的所属组相同。
先把/bin/touch加的特殊权限去掉
在1中,目录/app没有加sgid权限,用普通用户在该目录下创建了一个test1文件,所属组为普通用户sunwukong;在2中给/app目录加上sgid权限,在创建/app/test2文件,其所属组为root,和目录/app的所属组一样。
3.sticky
当对于一个目录作用了sticky权限之后,该目录下的文件仅其文件的所属人,或目录的所属人及root才能删除。
用法:chmod o+/-t
在普通用户sunwukong下,在/app下创建一个test目录,该目录的用户和用户组都可以对目录下的文件删除和创建,再创建一个/app/test/aa文件。切换到普通用户sunxingzhe下,该用户和sunwukong都在sunwukong这个组里面,所以可以在该用户下删除aa文件。
在下图中,给/app/test目录加上sticky权限后,在创建一个bb文件,发现在sunxingzhe用户下不能删除该文件了。
注意:这三中权限也可以用数字表示,分别为4,2,1。如chmod 6***(***为对应的rwx权限) ,6代表既有suid权限,又有sgid权限。权限位原本有x的,加上特殊权限后,显示为小写,原本无x,显示为大写。
下图1处test权限为rwxrwxr--,在2处给该目录增加sgid和sticky权限,增加后,在3处目录权限为rwxrwsr-T,s小写,因为原权限位有x,而T大写,因为原权限位没有x。
以上是关于Linux中的特殊权限的主要内容,如果未能解决你的问题,请参考以下文章