惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
博客园_首页
美团技术团队
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
J
Java Code Geeks
T
Tailwind CSS Blog
Jina AI
Jina AI
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
爱范儿
爱范儿
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - bluesky

如何彻底关闭Win10自动更新,Win10永久关闭自动更新的方法 批处理实现软件静默批量安装 windows AD监听的端口 [FreeBSD] 双网卡绑定 Kea DHCP MySQL NTP服务器知识整理 linux的常用命令 配置squid集成域身份认证 Windows上配置PHP的LDAP扩展 PHP下使用ldap域账户认证密码 理解syslinux,SYSLINUX和PXELINUX 优化pxe网启动时tftp的传输速度 --- 针对pxelinux和bootmgr 建立Cent OS7server有些问题需要注意 freebsd-update upgrade -r 11.1-RELEASE Dmidecode-查询硬件信息 Samba日志分析 freebsd ports update url Cisco交换机里IP和MAC地址互查找出对应端口 实现不同vlan间的相互通信方法一:单臂路由
Linux文件特殊权限:SUID、SGID和SBIT
bluesky · 2018-10-25 · via 博客园 - bluesky

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_30071459/article/details/51206581
1.SUID
当s这个标志出现在文件所有者的x权限上时,例如文件权限状态“-rwsr-xr-x”,此时就称为 Set UID,简称为SUID的特殊权限。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所修改。

 但是vbird如果使用cat去读取/etc/shadow这个文件时,是不能读取的。


(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才有权力删除。

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”。

来自鸟哥的Linux私房菜
这里也有一些介绍:http://blog.csdn.net/xiaocainiaoshangxiao/article/details/17378611
---------------------
作者:小咸鱼_
来源:CSDN
原文:https://blog.csdn.net/sinat_30071459/article/details/51206581
版权声明:本文为博主原创文章,转载请附上博文链接!