Mac OS X下权限的SGID和SUID和sticy位

不得不说Mac OS系统真的是Linux有很多相似的地方,Linux中的SGID和SUID和sticy位,在Mac OS下也是有的,下面就简单的介绍下这三个权限位

SUID

首先看下SUID,查看su命令的执行权限,su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码,运行SUID位设置的命令或脚本时,其有效UID将变为文件所有者的UID,而不是正在运行它的用户
这里写图片描述

我们如果想要在文件当中去设置这个SUID位的话那么我们可以这么做,其中4代表的设置的是这个SUID位

chmod 4555 pathFile

这里我主要创建了个文件去验证了下这个过程
这里写图片描述

对文件设置也可以这样设置

chmod u+s pathFile

这里写图片描述

至于上面用chmode 4555之所以在第一位用4的原因如下所示,我们在终端中查看的文件的权限大多数只有rwx,其实还有些显示的是s和t或者是S和T,它们用来设定一些特殊权限。这些s和t的出现就和SUID SGID sticky-bit 这三个位有关系了

这三个位可以用3个二进制位来表示

  • SUID位, 如果该位为1, 则表示设置SUID 单独设置其实就是100为4
  • SGID位, 如果该位为1, 则表示设置SGID 单独设置就为010 就是2
  • sticky位, 如果该位为1, 则表示设置sticky 单独设置为001 就是1

SGID

下面就是对文件的SGID的位的设置,SGID位置的设置可以看到下面的,只需要在设置权限的前面其实加上个2就可以了

chmod 2555 pathFile

这里写图片描述

在目录上设置SGID权限时,目录中创建的文件属于该目录所属的组。比如说如果在目录中拥有写权限的用户在那里创建一个文件,那么该文件是与目录相同的组的成员,而不是用户的组。这在创建共享目录时非常有用

如何在目录上设置SGID

chmod g + s directory

想要同时设置SGID位和SUID位我们主需要去进行最前面对应的权限为4+2就可以了

chmod 6741 aaa.txt

sticy

  • sticy位主要用于共享目录。粘滞位权限是针对目录的,对文件无效

  • 对于共享目录比如说/var/tmp 非常有用,因为用户可以创建文件,读取和执行其他用户拥有的文件,但不允许删除其他用户拥有的文件。

  • 比如,如果用户apple创建一个名为/var/tmp/aaa.txt的文件,则即使/var/tmp目录具有777权限,其他用户apple1也不能删除该文件。如果没有设置sticky位,则apple1可以删除/var/tmp/aaa.txt

这里写图片描述
设置目录的sticky位,我们可以这么做

chmod + t directory
chmod 1777 directory

最后需要注意的是–, 假如本来在可执行位上有x, 那么特别标志SUID, SGID, sticky显示为小写字母s, s, t,否则的话就显示为大写字母S, S, T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值