MacOS升级系统后operation not permitted

本文介绍了解决MacOS系统升级后脚本无法执行的问题。通过深入探究,发现了com.apple.quarantine属性导致的限制,并给出了具体的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MacOS系统升级至12.0.1后,新建执行脚本发现每次都提示

zsh: operation not permitted: ./xxx.sh

 之前正常的脚本修改过后也变得无法执行

hanchengxiao@hanchengxiaodeMacBook-Pro xxx % ls -ll
total 40
-rwxrwxrwx@ 1 hanchengxiao  staff    94 11  5 11:11 xxx.sh
-rwxrwxrwx@ 1 hanchengxiao  staff   223 11  5 10:52 xxx.sh
-rw-r--r--@ 1 hanchengxiao  staff  1678 10 18 12:00 xxx.pem
-rwxrwxrwx@ 1 hanchengxiao  staff   253 10 25 14:09 xxx.sh
-rwxrwxrwx@ 1 hanchengxiao  staff   353 11  5 10:56 xxx.sh

发现权限似乎也没什么问题,可为什么变得不能执行了呢
好奇心促使我进一步探究@的隐藏内容

hanchengxiao@hanchengxiaodeMacBook-Pro xxx % ls -ll@
total 40
-rwxrwxrwx@ 1 hanchengxiao  staff    94 11  5 11:11 xxx.sh
    com.apple.TextEncoding    15 
    com.apple.lastuseddate#PS     16 
    com.apple.macl    72 
    com.apple.metadata:kMDLabel_ovflhabut6jrmym5s5csdfq52e    89 
    ↓↓↓↓↓↓↓↓↓↓注意这鬼东西↓↓↓↓↓↓↓↓↓↓↓
    com.apple.quarantine      23
    ↑↑↑↑↑↑↑↑↑↑注意这鬼东西↑↑↑↑↑↑↑↑↑↑↑
-rwxrwxrwx@ 1 hanchengxiao  staff   223 11  5 10:52 xxx.sh
    com.apple.TextEncoding    15 
    com.apple.lastuseddate#PS     16 
    com.apple.macl    72 
    com.apple.metadata:kMDLabel_ovflhabut6jrmym5s5csdfq52e    89 
-rw-r--r--@ 1 hanchengxiao  staff  1678 10 18 12:00 xxx.pem
    com.apple.TextEncoding    15 
    com.apple.lastuseddate#PS     16 
    com.apple.macl    72 
    com.apple.metadata:kMDLabel_ovflhabut6jrmym5s5csdfq52e    89 
-rwxrwxrwx@ 1 hanchengxiao  staff   253 10 25 14:09 xxx.sh
    com.apple.TextEncoding    15 
    com.apple.lastuseddate#PS     16 
    com.apple.macl    72 
    com.apple.metadata:kMDLabel_ovflhabut6jrmym5s5csdfq52e    89 
-rwxrwxrwx@ 1 hanchengxiao  staff   353 11  5 10:56 xxx.sh
    com.apple.TextEncoding    15 
    com.apple.lastuseddate#PS     16 
    com.apple.macl    72 
    com.apple.metadata:kMDLabel_ovflhabut6jrmym5s5csdfq52e    89 

发现不能执行的脚本比其他脚本多了一条属性,虽然不知道这个属性是做什么的但是不影响对它的好奇
百度得知

com.apple.quarantine      23

这个是mac的免疫隔离,系统根据这个附加属性对这个文件作出限制
既然知道了问题就好办了
使用

sudo xattr -r -d com.apple.quarantine ./NAMP.sh

将文件中的免疫隔离去除,再次执行脚本,又可以愉快地执行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值