MacOS - operation not permitted

问题描述

Mac 上一些操作需要系统权限,输入正确密码时,一般情况下设置命令就可以解决:sudo chmod -R 777 要修改文件上层目录的路径。

但是部分情况下除外,比如 sudo 移动到文件到 /usr/bin 目录,或者 sudo pip update 等,仍然会失败,提示 operation not permitted。

原因分析

Mac 电脑启用了 SIP(System Integrity Protection),增加了 rootless 机制,导致即使在 root 权限下依然无法修改文件,关闭该保护机制才能进行修改

解决方案

  1. 重启电脑,屏幕出现苹果 logo 的时候,按照 Command + R,直到进入保护模式
  2. 保护模式:屏幕正中是一个对话框,提示恢复某个备份,或者恢复出厂系统等等。左上角有一排工具栏
  3. 左上角找到 terminal 终端,打开,并输入 csrutil disable
  4. 再次重启电脑,即可对 usr/bin 目录下文件进行修改了

PS:如果要恢复保护机制,重新进入保护模式,同样方式在终端输入 csrutil enable 即可

相关推荐
带娃的IT创业者13 小时前
解密OpenClaw_03-OpenClaw核心功能特性
macos·系统架构·objective-c·cocoa·软件工程·智能体开发·openclaw
AI逐月14 小时前
Mac 轻量安装 Docker 完整指南(Docker + Colima + Kubernetes)
macos·docker·kubernetes
binderIPC15 小时前
macos环境下FFmpeg打包成.so文件
macos·ffmpeg·音视频
binderIPC15 小时前
macos的FFmpeg环境搭建
macos·ffmpeg·音视频
王中王程序猿215 小时前
Mac IDA动态调试Android应用so文件
macos
xifangge202516 小时前
[报错] SpringBoot 启动报错:Port 8080 was already in use 完美解决(Windows/Mac/Linux)
java·windows·spring boot·macos·错误解决
雪域迷影1 天前
MacOS下源码安装SDL3并运行hello.c示例程序
c语言·开发语言·macos·sdl3
顶顶通-FreeSWITCH二次开发接口2 天前
顶顶通SIP电话客户
sip
阿捏利2 天前
详解Mach-O(五)Mach-O LC_SYMTAB
macos·ios·c/c++·mach-o
2601_949146532 天前
Swift语音通知接口集成手册:iOS/macOS开发者如何调用语音API
macos·ios·swift