suid sgid与t粘滞位



UNIX下可以用ls -l 命令来看到文件权限。用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 。

下面解析一下格式所表示的意思,这种表示方法一共有十位:
9 8 7 6 5 4 3 2 1 0
- r w x r - x r - x

第9位表示文件类型,可以为p、d、l、s、c、b和-:
p表示
命名管道文件
d表示
目录文件
l表示
符号连接文件
-表示
普通文件
s表示
socket文件
c表示
字符设备文件
b表示
块设备文件

第8-6位、5-3位、2-0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx:
r表示可读,可以读出文件的内容
w表示可写,可以修改文件的内容
x表示可执行,可运行这个程序
没有权限的位置用-表示

如果一个文件被设置了SUID或SGID位,会分别表现在所有者或同组用户权限的可执行位上。例如
1、-rwsr-xr-x 表示SUID和所有者权限中可执行位被设置
2、-rwSr--r-- 表示SUID被设置,但所有者权限中可执行位没有被设置
3、-rwxr-sr-x 表示SGID和同组用户权限中可执行位被设置
4、-rw-r-Sr-- 表示SGID被设置,但同组用户权限中可执行位没有被设置

第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位。 
-rwsr-xr-x的值为: 1  0 0 1 1 1 1 0 1 1 0 1
-rw-r-Sr--的值为: 0  1 0 1 1 0 1 0 0 1 0 0

给文件加SUID和SUID的命令如下:
chmod u+s filename   设置SUID位
chmod u-s filename   去掉SUID设置
chmod g+s filename   设置SGID位
chmod g-s filename   去掉SGID设置

粘滞位(Sticky bit)

当一个目录设置为粘着位时,它将发挥特殊的作用, 
  即当一个目录被设置为"粘着位"(用chmod a+t),则该目录下的文件只能由 
1)、超级管理员删除 
2)、该目录的所有者删除 
3)、该文件的所有者删除 
    也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件。 
文件的粘滞位(sticky)位是作什么用的? 普通文件的sticky位会被linux内核忽略, 目录的sticky位表示这个目录里的文件只能被owner和root删除
粘着位(Sticky bit) 如果用户对目录有写权限,则可以删除其中的文件和子目录,即使该用户不是这些文件的所有者,而且也没有读或写许可。
粘着位出现执行许可的位置上,用t表示,设置了该位后,其它用户就不可以删除不属于他的文件和目录。但是该目录下的目录不继承该权限,
要再设置才可使用。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值