文件的特殊权限:SUID,SGID,Sticky Bit

本文详细介绍了SUID(SETUID)、SGID和StickyBit三种特殊文件权限的作用及应用场景,包括如何利用这些权限保护文件不被未经授权的用户修改或删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

umask与文件默认权限

一文中,我曾经说过,发现其默认权限显示是四个数字,这到底是怎么一回事呢?

 

我们来看一下下面这个例子:

 


不是只有rwx吗?  那个s和t是什么东东?

 

原来,在文件中,有这么一种权限,他可以赋予你和创建者一样的身份,当然这是临时的。

 

并且,只能是创建者可执行的权限,且当其他用户执行这个文件的时候,他也有创建者的权限了。

 

这就是SUID(SET UID),如passwd文件,正常,除了root是不可以有别人来更改这个passwd文件的。

 

当用户更改自己密码的时候还是可以实施的。这时候就是s权限起了作用。

 

同理,那个SGID 我们就很好理解了。就是赋予其用户组的权限,G不也就是GROUP嘛。

 

而且SUID,SGID只能作用于二进制文件。

 

那么,Sticky Bit是什么东东?

 

举个例子吧,一个目录,有这么一个权限。即 drwxrw-rw-

 

那么,当我是这个用户组的成员,你也是。

 

那就会出现这种情况,你嫉妒我,把我建立的目录啊,文件啊。都给我删了,或者重命名。这就会有很大的问题。

 

为了限制这种情况的发生,有一种特殊的文件权限叫Sticky Bit 。

 

它的作用是,当一个目录有Sticky Bit权限时,则只有root和自己能有权限对自己设的目录进行删除或更改。

 

别人,哪怕是同组的人都不行。但是别人依旧可以看到。。

 

那么这几个权限要怎么设置呢?


就是4个数字的权限设定就OK了。。也就是说chmod的时候为4个数字,例如:chmod 4755 filename

 

这个第一个数字就是表示设置的特殊权限。

 

对应如下:

 

4为SUID,2为SGID,1为Sticky Bit

 

但是要注意这样一种情况,会出现大写的S和T

 

那就是当自己还没有可执行权限的时候,却设置了SUID,

 

那么大S和大T表示就是空。也就是说其实我都不行,你还想要这权限?别逗了。

 

哈哈。。。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值