标签:SUID leah sudo permitted SGID Operation 权限 目录
前言
事情是这样的,在风和日丽的一天,我如往常一样在服务器上敲下了sudo xxxx,然而,这个指令竟然被kill了。
sudo: Operation not permitted
Killed
思索10min无所得,遂求助运维同学,答曰:4755。
咦,4755?这熟悉的陌生人,《鸟哥的Linux私房菜》里就有介绍过耶。
正文开始。
一、SUID
1.SUID的限制与作用
SUID即Set UID,s标志出现在user位的x上。
- SUID 权限仅对二进位程序(binary program)有效;(不能够用在 shell script 上面,因为shell script只是在运行一堆binary program)
- 运行者对于该程序需要具有 x 的可运行权限;
- 本权限仅在运行该程序的过程中有效 (run-time);
- 运行者将具有该程序拥有者 (owner) 的权限。 (运行过程中暂时获得该程序拥有者的权限)
- SUID对于目录无效
2.前言答案
关键就在于这个s,我的sudo会被kill掉,就是因为少了s:
leah@ubuntu:~$ ll /usr/bin/sudo
-rwsr-xr-x 1 root root 155008 Aug 27 2015 /usr/bin/sudo*
二、SGID
1.SGID作用在文件
SGID即Set GID,顾名思义,s标志出现在group的x上。
- SGID 对二进位程序有用;
- 程序运行者对于该程序来说,需具备 x 的权限;
- 运行者在运行的过程中将会获得该程序群组的支持。
2.SGID作用在目录
- 使用者若对于此目录具有 r 与 x 的权限时,该使用者能够进入此目录;
- 使用者在此目录下的有效群组(effective group)将会变成该目录的群组;
- 用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同。
三、SBIT
SBIT 目前只针对目录有效,作用:
- 当使用者于於此目录具有 w, x 权限,亦即具有写入的权限时;
- 当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件
举例来说,/tmp的权限为drwxrwxrwt,任何人都可以在 /tmp 内新增、修改文件,但仅有该文件/目录创建者与 root 能够删除自己的目录或文件。
四、SUID/SGID/SBIT 权限配置
SUID、SGID和SBIT用数字表示分别为
- 4:SUID
- 2:SGID
- 1:SBIT
到这里已经很清晰了,破解本次事件关键就是:
chmod 4755 /usr/bin/sudo
当然咯,这样也行:
chmod u+s /usr/bin/sudo
或者这样:
chmod u=rwxs /usr/bin/sudo
再来看个有趣的例子:
leah@ubuntu:~$ touch test.txt
leah@ubuntu:~$ ls -l test.txt
-rw-rw-r-- 1 leah leah 0 Jun 23 09:38 test.txt
leah@ubuntu:~$ chmod 7666 test.txt
leah@ubuntu:~$ ls -l test.txt
-rwSrwSrwT 1 leah leah 0 Jun 23 09:38 test.txt
发现了吗?大S和大T哦~ 原因很简单,user都没有x,其他人又怎么可能执行?所以,就是空啦!
标签:SUID,leah,sudo,permitted,SGID,Operation,权限,目录 来源: https://www.cnblogs.com/Sherlock-L/p/14933949.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。