mac shell 脚本执行报错 Operation not permitted

mac上你从网页、QQ或微信等下载一个sh脚本,不要忙着急着去执行,要否则会报下面的错误安全

sudo: unable to execute ./sh/ijiami-clang-install.sh: Operation not permitted

遇到这个问题该咋办,别着急咱们来剖析一下是为何缘由,ls -l一下
获得下面列表,都有执行权限,等等后面为啥有个@,百度可知这是个隐藏属性.微信

ijm@172-10-20-151 sh % ls -l
total 64
-rw-r--r--@ 1 ijm  staff  2437  4 14 14:36 Fastfile
-rwxr-xr-x@ 1 ijm  staff  6312  4 16 10:33 ijiami-clang-install.sh
-rwxr-xr-x@ 1 ijm  staff   830  4 16 10:33 ijiami-clang-uninstall.sh
-rwxr-xr-x@ 1 ijm  staff  9337  4 14 14:34 ijiami-config.sh
-rwxr-xr-x@ 1 ijm  staff   588  4 16 10:33 ijiami-version.sh
drwxr-xr-x@ 5 ijm  staff   160  4 16 10:34 pbx_config

为了一探究竟,咱们用ls -l@看一下有哪些隐藏属性app

total 40
-rwxr-xr-x@ 1 ijm  staff  2658  3  4 18:46 ijiami-build.sh
    com.apple.lastuseddate#PS      16 
    com.apple.macl      72 
    com.apple.quarantine      21 
-rwxr-xr-x@ 1 ijm  staff  6029  2  2 15:02 ijiami-clang-install.sh
    com.apple.lastuseddate#PS      16 
    com.apple.macl      72 
    com.apple.quarantine      21 
-rwxr-xr-x@ 1 ijm  staff   830  1 28 17:37 ijiami-clang-uninstall.sh
    com.apple.macl      72 
    com.apple.quarantine      21 
-rwxr-xr-x@ 1 ijm  staff   588  1 28 17:37 ijiami-version.sh
    com.apple.macl      72 
    com.apple.quarantine      21 
drwxr-xr-x@ 5 ijm  staff   160  1 19 19:12 pbx_config
    com.apple.quarantine      21

有隐藏属性com.apple.quarantine,这个是啥玩意,咱们一探究竟.搜索得知
macOS Catalina 加入了一项名为 GateKeeper 的保护机制,从互联网上下载来的文件,会被系统打上 com.apple.quarantine 标志,也就是免疫隔离,本意是为了不应用威胁,从而增强系统安全性。
坑爹啊只能把这个隐藏属性给干掉啊post

sudo xattr -r -d com.apple.quarantine +目录路径

参考文章:https://juejin.cn/post/684490...ui

相关文章
相关标签/搜索