sudo:Operation not permitted事件
转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14933949.html
前言
事情是这样的,在风和日丽的一天,我如往常一样在服务器上敲下了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,其他人又怎么可能执行?所以,就是空啦!
转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14933949.html
sudo:Operation not permitted事件的更多相关文章
- macOS: sudo : Operation not permitted
通过查阅资料,了解到这个是之前引入的rootless机制.这让我从Linux换到Mac的用户很不习惯 https://developer.apple.com/videos/play/wwdc2015/ ...
- 终端mysql Operation not permitted错误解决方案
前言 前段时间装mysql,就遇到了ln: /usr/bin/mysql: Operation not permitted的错误,网上好多方法都过时了,下边是我的解决方法 原因 这是因为苹果在OS X ...
- macosx 10.11 python pip install 出现错误OSError: [Errno 1] Operation not permitted:
Exception: Traceback (most recent call last): File , in main status = self.run(options, args) File , ...
- Tomcat 在mac中Operation not permitted
5.执行/Library/Tomcat/bin下的startup.sh,然后打开http://localhost:8080查看是否Tomcat已经启动,若要停止服务器就运行同目录下的shutdown. ...
- 安装Pod时提示ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod
环境:OSX EI 10.11.1 昨天切换gem源后,招待pod安装没有任何问题,也可以正常用$ gem sources --add https://ruby.taobao.org/ --remov ...
- class-dump 复制到/usr/bin目录不可写,Operation not permitted 解决办法
许多升级了OSX 10.11的朋友在配置class-dump的时候,会发现书上推荐的class-dump存放目录/usr/bin不再可写,如下所示: Operation not permitted 把 ...
- linux操作提示:“Can't open file for writing”或“operation not permitted”的解决的方法
在linux上使用vi命令改动一个文件内容的时候,发现无法保存,每次写完使用":q!"命令能够正常退出可是使用":wq!"命令保存文件并退出时出现一下信息提示: ...
- Operation not permitted引发的惊魂72小时
0.问题及描述 在测试产品的时候,莫名其妙发现了我们的主进程VPNd会出现以下的报错: 2013-07-18 13:05:13 www.1.com/192.168.200.220:65527 wri ...
- 修改文件的所有者失(chown: changing ownership of `uploads': Operation not permitted)
在项目开发的时候,经常需要将文件上传到指定的目录下. 例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源. 首先在命令窗口下输入: mkdir upl ...
- 安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
安装cocoa pods时, 在命令行中输入: 安装:sudo gem install cocoapods报Operation not permitted - /usr/bin/xcodeproj这个 ...
随机推荐
- git分支的一些处理情况记录
一.开发分支(dev)上的代码更新后,要合并到 master 分支 git checkout dev #切换到dev分支 git pull #将远程更新的代码同步到本地 git checkout ma ...
- Kinsoku jikou desu新浪股票接口变动
1.问题原因 新浪股票接口返回如标题所示值:Kinsoku jikou desu! http://hq.sinajs.cn/list=code 新浪股票的接口变动,需要在请求头中添加Referer值. ...
- Docker挂载
1.挂载的概念 预备:你需要了解docker的基本知识 docker实现了容器部署,那当我们需要配置或者查看容器生成的日志文件怎么办? docker提供了挂载机制:挂载能够将容器内的目录/文件和外部的 ...
- ubuntu安装ROBOWARE
https://github.com/tonyrobotics/RoboWare/ https://blog.csdn.net/lixujie666/article/details/80139112 ...
- Eureka 注册中心和服务提供者
什么是Eureka组件 spring cloud Eureka ,提供服务注册和服务发现的功能. 一:spring cloud Eureka Eureka Server 服务端 Eureka Clie ...
- FAS2720 配置
FAS 2720配置操作 第1章 初始化 1.1设备物理安装 1.1.1组件介绍 机头FAS 2720 (2U) 前面板 后面 1.1.2准备工作 (1)工具准备 螺丝刀.网线.Console线. ...
- Windows家庭版安装本地组策略编辑器【gpedit.msc】
由于我们买的电脑一般默认安装的Windows家庭版本 家庭版本默认不带有本地组策略编辑器 当我们运行gpedit.msc的时候会提示 Winodws找不到文件'gpedit.msc'.请确定文件名是否 ...
- 3D模型轻量化
近几年,随着国内外文化产业的迅猛发展,3D建模行业迎来黄金发展期. 尤其是在元宇宙时代及数字体验经济时代的大背景下,越来越多的实时.可交互的3D内容将出现在人们的生活中. 有关3D建模师而言,无疑,行 ...
- CSS3--点击弹出菜单动画
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- axios的简易二次封装
Axios的二次封装 1.在src文件夹下创建utils文件夹,再创建request.js文件 request.js //引入axios import axios from 'axios' //创建实 ...