特殊权限到底是什么?什么时候会用到?


hello大家好😁

前言❓

今天的一个实验作业里有一个步骤要求是这样的:

创建 /home/student/grading/review2 目录,该目录的权限应当允许database的组成员和student用户访问该目录并在其中创建内容。所有其他用户应具有该目录是读取和执行权限。同时,使得其中的所有新文件都将database继承为下属组,不论其创建用户是谁。此外,请确保仅允许用户从 /home/student/grading/review2删除他们自己拥有的文件,不允许删除属于他人的文件

分析❗

简单分析一下题目要求

该目录的权限应当允许database的组成员和student用户访问该目录并在其中创建内容。所有其他用户应具有该目录是读取和执行权限

这两句话传达出两个信息:

  • 该目录的所有者和所属组分别是student和database
  • 该目录的权限设置应该为775

我们来操作一下:

创建新目录:

创建新目录

用chown命令修改所有权:

在这里插入图片描述

用chmod修改权限:

在这里插入图片描述
我们继续分析后面的要求:

同时,使得其中的所有新文件都将database继承为下属组,不论其创建用户是谁。此外,请确保仅允许用户从 /home/student/grading/review2删除他们自己拥有的文件,不允许删除属于他人的文件

这里就涉及到特殊权限了,前面的rwx都是基本权限,特殊权限有三种:

三种特殊权限

  • u+s(suid)
    这个权限适用于可执行文件,所具有的功能是,只要用户对设有 suid 的文件有执行权限,那么当用户执行此文件时,会以文件所有者的身份去执行此文件,一旦文件执行结束,身份的切换也随之消失。很多命令和可执行程序都只有root有权限,那么只要给这个命令的可执行文件设置suid,那么普通用户也可以使用这个命令
    suid权限体现在文件所有者执行权限位,如果所有者原本就有执行权限,显示为小写s,否则,显示为大写S
    例如:

我们常用的passwd命令的文件就有suid权限,因为用户的密码都是保存在
/etc/shadow文件里的,但这个文件只有root有权限,所以就给passwd可执行文件添加suid特殊权限,这样每一个普通用户都可以通过passwd修改密码。

在这里插入图片描述
在这里插入图片描述

  • g+s(sgid)
    这个权限既适用于文件,也适用于目录。
    当目录属组有写权限,且有sgid权限时,那么所有属于此目录的所属组,且以所属组身份在此目录中新建文件或目录时,新文件的属组不是用户基本组,而是此目录的所属组
    也就是说,设置了sgid的目录,目录中的所有新文件的所属组都是目录的所属组,不论其创建用户是谁。这个就对应了上面的第一个要求
    sgid的权限体现在所属组的执行权限位,如果所属组原本有执行权限,显示为小写s,否则,显示为大写S
  • o+t(sticky)
    对于所属组或全局可写的目录,组内的所有用户或系统上的所有用户对此目录都能创建新文件或删除所有的已有文件
    如果为此类目录设置sticky权限,则每个用户能创建新文件,且只能删除自己的文件。这就对应了上面的第二个要求
    sticky的权限体现在其他用户的执行权限位,如果其他用户原本有执行权限,显示为小写t,否则,显示为大写T

SGID 和 SUID 的不同之处就在于,SUID 赋予用户的是文件所有者的权限,而 SGID 赋予用户的是文件所属组的权限

完成题目要求

最后,我们完成题目要求✅:
在这里插入图片描述
在这里插入图片描述

总结💯

我们可以根据自己的需要去设置特殊权限,设置方法和设置普通权限一样用chmod命令

  • 符号表示:suid = u+s ; sgid = g+s; sticky = o+t
  • 数值表示(第四位):suid = 4; sgid = 2; sticky = 1

示例:

  • 在directory目录上添加sgid权限:
chmod g+s directory
  • 为directory 设置sgid权限,并且Wie用户和组添加读取、写入、执行权限,但其他不具有任何访问权限:
chmod 2770 directory

感谢💖

好啦,这次的分享就到这里,感谢大家看到这里💕,我目前还是学习中小白,十分希望能和各位朋友们大佬们在讨论区互动💫再次感谢💞

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不怕娜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值