网站首页 > 博客文章 正文
一个IT从业者,分享IT的各种相关内容。点个关注,不迷路,总有能帮到你的分享内容。什么?帮不到。那谢谢你这么俊/这么美,来关注我!
SUID、SGID和SBIT是进阶的Linux目录和文件的权限管控设置。比如我们有时看到一个Linux文件的权限里出现s,而一般我们知道的权限就rwx,这里的s是设置了SUID或SGID的缘故。接下来分别介绍下,争取一文让大家看明白。
1.SUID
SUID 是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。
当s这个标志出现在文件所有者的x权限上时,例如文件权限状态“-rwsr-xr-x”,此时就称为 Set UID,简称为SUID的特殊权限。如果是rwx设置了SUID,则x位置上是s(小写s),如果是rw-设置了SUID,则x位置上是S(大写S),SUID有这样的限制和功能:
(1)SUID权限仅对二进制程序有效;
(2)执行者对于该程序需要具有x的可执行权限;
(3)本权限仅在执行该程序的过程中有效;
(4)执行者将具有该程序所有者的权限。
举个例子,在Linux中,所有账号的密码记录在/etc/shadow这个文件中,并且只有root可以读和强制写入这个文件。那么,如果另一个账号vbird需要修改自己的密码,就需要访问/etc/shadow这个文件,但是上面明明说了只有root能访问/etc/shadow这个文件,是不是矛盾?但事实上,vbird是可以修改/etc/shadow这个文件内的密码的,这就是SUID的功能。
通过上述的功能说明,我们知道,
(1)vbird对于/usr/bin/passwd这个程序具有x权限,表明vbird可以执行passwd;
(2)passwd的所有者为root;
(3)vbird执行passwd的过程中会暂时获得root的权限;
(4)/etc/shadow因此可以被vbird所执行的passwd所修改。
注!SUID只能用在文件上,不能用在目录
2.SGID
当s标志出现在文件所有者的x权限时称为SUID,那么s出现在用户组的x权限时称为SGID。(U表示user,G表示group)。SGID有如下功能:
(1)SGID对二进制程序有用;
(2)程序执行者对该程序需具备x权限;
(3)执行者在执行过程中会获得该程序用户组的支持。
举个例子,/usr/bin/locate这个程序可以去查询/var/lib/mlocate/mlocate.db这个文件的内容,mlocate.db的权限如下:
-rwx--s--x root slocate /usr/bin/locate
-rw-r----- root slocate /var/lib/mlocate/mlocate.db
若使用vbird这个账号执行locate时,vbird就会获得用户组slocate支持,又由于用户组slocate对mlocate.db具有r权限,所以vbird就可以读取mlocate.db了。
除二进制程序外,SGID也可以用目录上。当一个目录设置了SGID权限后,它具有如下功能:
(1)用户若对此目录具有r和x权限,该用户能够进入该目录;
(2)用户在此目录下的有效用户组将变成该目录的用户组;
(3)若用户在此目录下拥有w权限,则用户所创建的新文件的用户组与该目录的用户组相同。
3.SBIT
SBIT目前只对目录有效。
SBIT对目录的作用是:
(1)当用户对此目录具有w和x权限时,即具有写入权限时;
(2)当用户在该目录下创建新文件或目录时,仅有自己和root才有权力删除;
(3)设置的SBIT到目录所有者具有删除目录中文件的权限,即使非root用户。
4.SUID\SGID\SBIT权限设置
先将其转换成数字:
SUID->4
SGID->2
SBIT->1
假设要将一个文件权限修改为“-rwsr-xr-x”,由于s在用户权限中,所以是SUID,因此,原先的755前面还要加上4,也就是4755,所以,
用命令chmod 4755 filename 设置就可以了。此外,还可能出现S和T的情况。
我们知道,s和t是替代x这个权限的,但是,如果它本身没有x这个权限,修改为s或t时就会变成大S或大T,例如:
执行chmod 7666 filename。 因为666表示“-rw-rw-rw”,均没有x权限,所以最后变成“-rwSrwSrwT”。
本文引用参考的资料包括:
1、http://blog.csdn.net/sinat_30071459/article/details/51206581
2、鸟哥Linux私房菜:https://linux.vbird.org
- 上一篇: Samba介绍
- 下一篇: 运维工程师必会的Linux命令之(三) 网络管理
猜你喜欢
- 2024-11-20 干货 | 这 3 个超经典的Linux实战项目,让你分分钟入门Linux系统
- 2024-11-20 Google移动开发平台Flutter发布 iOS和Android开发者神器
- 2024-11-20 可靠性分析计算程序软件(FastBird V1.0)发布
- 2024-11-20 互联网面试——Linux 正则表达式
- 2024-11-20 Linux - 提取指令
- 2024-11-20 Linux vi/vim
- 2024-11-20 十一假期玩什么:一些又萌、又扯、又糙、又轻松的游戏推荐
- 2024-11-20 Linux高级路由教程
- 2024-11-20 Linux切换目录(cd命令)
- 2024-11-20 谁是2020年最强Python库?年度Top10出炉
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)