文件特殊权限
Posted zhengyipengyou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件特殊权限相关的知识,希望对你有一定的参考价值。
1.SUID(Set UID)
a.当s这个标志出现在文件所有者的x权限上时,此时就被称为Set UID,简称SUID的特殊权限。此权限的功能与权限如下:
*SUID仅对二进制程序有效
*执行者对于该程序需要具有x的可执行权限
*本权限仅在执行该程序的过程中有效
*执行者将具有该程序所有者的权限
b.在linux系统中,所有的帐号密码都记录在/etc/shadow这个文件中,这个文件权限为“-r-------- 1 root root”,意思是这个文件仅有root可读仅root可以强制写入。但是一般的账户(例我的kiosk是个普通用户)却可以改动自己的密码,这与权限岂不是冲突了?其实,这便是SUID的作用:
*kiosk对于/usr/bin/passwd这个程序来说是有x权限的,表示kiosk能够执行passwd命令
*passwd的拥有者时root这个帐号
*vbird执行passwd的过程中,会“暂时”获得root权限
*/etc/shadow可以被kiosk所执行的passwd所修改
虽然kiosk可以修改自己的账户密码,但是却无法用cat去读取/etc/shadow
c.SUID仅可用在二进制程序上,不能够用在shell script上面,对于目录也是无效的。
2.SGID(Set GID)
a.当s标志在用户组的x时则称为Set GID,SGID。与SUID不同的是,SGID可以针对文件或目录来设置。如果是对文件来说,SGID有以下功能L
*SGID对二进制程序有用
*程序执行者对于该程序来说,需具备x的权限
*执行者在执行的过程当中会获得该程序用户组的支持
b.除了二进制程序外,事实上SGID也能够用在目录上,这也是常见的一种用途。当一个目录设置了SGIDde1权限后,会具有如下功能:
*用户若对次目录具有r与x权限时,该用户可进入此目录
*用户在次目录下的有效用户组将会变成该目录的用户组
*若用户再次目录下有w权限,则用户所创建的新文件的用户组与次目录的用户组相同
3.Sticky Bit
a.这个Sticky Bit(SBIT)目前只针对目录有效,其效果为:
*当用户对于次目录具有w,x权限,即具有写入的权限时:
*当用户在该目录下创建文件或目录时,仅自己与root才有权力删除该文件。
即,加入A目录加上了SBIT的权限项目时,则用户甲之能够针对自己创建的文件或目录进行删除,更改,移动等操作,而无法删除他人创建的文件
4.SUID/SGID/SBIT权限设置
a.通过数字的方法
4为SUID
2为SGID
1为SBIT
若要将一个文件权限更改为SUID时,就可在原先的权限上加上4.例如,原权限为“755”,那么更改为SUID就可以用“ chmod 4755 文件名”即可。其余例上。
b.通过符号方法
SUID为u+s
SGID为g+s
SBIT为o+t
例:原权限为“-rws--x--x”
添加SGID与SBIT,可通过如下方法进行:
chmod g+s,o+t 文件名
以上是关于文件特殊权限的主要内容,如果未能解决你的问题,请参考以下文章
特殊权限set_uid, 特殊权限set_gid,特殊权限stick_bit,软链接文件, 硬连接文件