档案特殊权限Set UID,SETGID,SETBIT
1.Set UID:当s这个标志出现在拥有者的x权限上时,此时被称为Set UID,简称为SUID的特殊权限。基本上SUID有这样的限制与功能
1)SUID权限仅对二进制程序有效
2)执行者对于该程序需要具有x的可执行权限
3)本权限仅在执行该程序的过程中有效
4)执行者将具有该程序拥有者的权限
eg:在linux系统中所有的账号密码都记录在/etc/shadow这个档案里面,这个档案权限为:-r-------- 1 root root,即只有root可读、可强制写入。虽然这个档案仅有root可以修改,但用户却可以使用自己的账号通过输入passwd之隔指令来修改密码。
原因为:普通用户对/usr/bin/passwd这个程序来说是具有x权限的,passwd的拥有者是root,普通用户在执行passwd的过程中会暂时获得root权限,因此普通用户就可以修改自己的密码了。
2.Set GID:当s这个标志出现在群组的x权限的位置上时,称为Set GID,简称SGID,与SUID不同,SGID可以针对档案和目录来设定,作用在文件上其功能有:
1)SGID对二进制程序有用
2)程序执行者对于该程序来说有x的权限
3)执行者在执行的过程中将会获得该群组的支持
作用在档案上,其功能有:
1)若用户对于此目录具有r和x的权限时,该用户能够进入此目录
2)用户在此目录下的有效群组将会变成该目录的群组
3)用途:若用户在此目录下具有w权限,则使用者所建立的新档案,该档案的群组与此目录的群组相同
3.Sticky Bit:只针对目录有效,一般至于其他人的x权限位置上,其作用是:
1)当用户对于此目录具有w,x权限,亦即具有写入的权限
2)当用户在该目录下建立档案或目录时,仅有自己与root才有权利删除该档案
eg:当甲用户对于A目录是具有群组或其他人的身份,并且拥有该目录w权限,这表示甲用户对该目录任何人建立的目录或档案均可进行“删除/更名/移动”等动作。不过将A目录加上SBIT的权限项目时,则甲只能够针对自己建立的档案或目录进行删除/更名/移动等动作,而无法删除他人的档案。
4.以上特殊权限的设定:众所周知,用三个数字可以设定档案的权限,那么如果在这三个数字之前再加上一个数字的话,最前面的那个数字就代表这几个权限了。
1)4为SUID
2)2为SGID
3)1为SBIT
eg:加入要将一个档案的权限改为:-rwsr-xr-x时,由于s在用户的权限中,所以是SUID,因此,在原先755之前还要加上4,也就是chmod 4755 filename来设定。
此外,ST对应空的权限,因为st权限都是建立在可执行的基础上的,一旦档案不具有可执行的权限,则该档案就会产生空的st权限,即ST。
另外也可以使用+、-、=来设定档案的权限(包括特殊权限)。
本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1590312
原文地址:http://7613577.blog.51cto.com/7603577/1590312