linux文件特殊权限详解之SUID篇

在之前的权限管理的文章中,我们了解了文件权限的基本内容和ACL相关内容。今天我们来讲讲文件权限管理的另一个内容:文件特殊权限

文件特殊权限是权限管理中比较难的一部分,分三个小内容,分别是:suid、sgid和sticky。

第一部分:SUID

首先了解一下SUID主要功能:当用户执行某一程序时,临时获得该程序所有者的身份(非所有者以所有者身份运行)

这样的说法难免有些晦涩,打个比方:

普通用户是没有/etc/shadow文件的权限的,但是仍然可以修改自己的密码,原因就是修改密码的命令“passwd”拥有SUID权限。

# which passwd                    //查询passwd命令所在目录
/usr/bin/passwd
# ll /usr/bin/passwd          //查看passwd文件权限
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd             //标红的S代表SUID权限

反例:cat命令没有SUID权限,所以普通用户无法查看/etc/shadow 文件。

由上面的例子,我们可以知道

1.只有可执行的二进制程序才能设定SUID权限。(给一个非程序设定SUID是没有意义的)

2.命令的执行者必须对该程序拥有X(执行)权限,否则没有SUID没有意义。

3.SUID权限只在程序运行的过程中有效。(普通用户变身为root超人的时间和限制是非常严格的)

所以,大家在设定SUID是时一定要十分谨慎,因为SUID权限是十分危险的!

假设你给VIM设定的SUID权限,那么任何人都可以直接修改系统关键文件,包括但不仅限于shadow文件。

好了,了解完SUID的知识,终于可以设定SUID权限了。

如何设定SUID权限?

有两种方法:我以cat命令为例

chmod  4755   /usr/bin/cat     //4代表SUID权限
chmod   u+s   /usr/bin/cat      //两种命令意思相同

输完上面的命令,我的普通用户也可以cat /etc/shadow 文件了。这里不再演示。

如何删除SUID权限?

很简单,将权限再次指回即可。

chmod 755 /usr/bin/cat
chmod   u-s   /usr/bin/cat

在最后再次重申SUID的危险性,为了保证服务器安全,我们应该

1.对关键目录严格控制写权限,如 “/” “/etc” “/usr”

2.用户的密码严格设置并且遵守密码三原则

3.对系统中拥有SUID权限的文件作一列表,并且定期检查。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白课代表

软件分享 | 3DS MAX 2017安装教程

3D Studio Max,常简称为3d Max或3dsMAX,是Discreet公司开发的(后被Autodesk公司合并)基于PC系统的三维动画渲染和制作软件...

1023
来自专栏FreeBuf

利用Pentestbox打造MS17-010移动杀器

1、前言 前段时间Shadow Broker披露了 Windows大量漏洞,甚至爆出黑客组织 Equation Group 对于Windows 远程漏洞 MS1...

3107
来自专栏解Bug之路

解Bug之路-记一次JVM堆外内存泄露Bug的查找 顶

JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔...

884
来自专栏AhDung

【Web】一个非常简单的移动web消息框

最近在写个简单的公众号页面,前端验证时有些信息要提示,很简单的需求实在不想找啥现成的轮子,又不至于用alert这么粗暴,遂写了个非常简单的消息框,效果如图:

1353
来自专栏IT派

Python入门网络爬虫之精华版

首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要的基本概念和技巧:宁哥的小站-网络爬虫

761
来自专栏FreeBuf

Kali Linux渗透基础知识整理(四):维持访问

*本文原创作者:sysorem 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限。使用木马程序、后门程序和rootkit来达到这一目的。...

2418
来自专栏小车博客

windows 10 DD包制作

2666
来自专栏杨建荣的学习笔记

关于switchover的流程和补充(r9笔记第4天)

对于Oracle Data Guard中的Switchover一般是计划内的操作,自己其实也处理了不少的故障,也算是轻门熟路。复杂的事情简单做,简单的事情重复做...

2595
来自专栏用户画像

IPv6

243. IPv6 主机A 要与IPv6主机B 通信,但不知道主机B 的链路层地址,遂发送邻居请求消息。邻居请求消息的目的地址是__D____。

4074
来自专栏FreeBuf

Nmap 7.50更新:自去年12月来的重大更新

Network Mapper 近日发布了最新更新 Nmap 7.50 ,上一次的更新还需要追溯到2016年12月,而此次的版本上对于对于数百项功能进行了改进。 ...

2734

扫码关注云+社区