Mac上的Gatekeeper系统跟运行时保护

文章目录

  • 问题:无法打开“xxx.xxx”,因为无法验证开发者。macOS无法验证此App是否包含恶意软件。
    • 如何解决?
  • 参考资料
    • 门禁
    • 运行时保护

问题:无法打开“xxx.xxx”,因为无法验证开发者。macOS无法验证此App是否包含恶意软件。

之前升级了macos后,就遇到了上面的问题。这里根本原因是Macos上Gatekeeper系统的特性,以防止用户无意识地执行恶意软件。
在这里插入图片描述

如何解决?

com.apple.quarantine是苹果(macOS)上的一个文件系统标记(Attribute),它表示文件是从Internet下载的或由邮件附件接收的。这个标记用于Gatekeeper系统,这是Mac操作系统的一个安全特性,以防止用户无意识地执行恶意软件。

此标签存于文件的拓展属性(Extended Attribute)中,并带有一些值,包括:

  1. 下载时间的时间戳
  2. 下载应用程序的标识
  3. URL,从该URL下载了文件

你可以通过xattr命令来查看或修改文件的com.apple.quarantine标志:

  • 查看文件的com.apple.quarantine属性:
    xattr -l <文件名>
    
  • 清除文件的com.apple.quarantine属性:
    xattr -d com.apple.quarantine <文件名>
    
  • 清除目录下所有文件的com.apple.quarantine属性:
     xattr -r -d com.apple.quarantine <目录名>
    

清除了com.apple.quarantine属性之后就可以正常使用了。
另外,也可以通过ls -al@查看文件的属性,我们从下面的结果也可以看出,有拓展属性的话,文件的权限位会多出一个@。

ls -al@

total 264088
drwxr-xr-x@  5 user  staff        160  3 27 11:54 .
	com.apple.macl	       72 
	com.apple.quarantine	       21 
drwx------@ 57 user  staff       1824  3 27 11:54 ..
	com.apple.macl	      216 
-rw-r--r--@  1 user  staff       6148  3 27 11:54 .DS_Store
	com.apple.FinderInfo	       32 
drwxr-xr-x  14 user  staff        448  3 27 11:54 a_directory
-rw-r--r--@  1 user  staff  118796235  3 27 11:54 a_file
	com.apple.metadata:kMDItemWhereFroms	      247 
	com.apple.quarantine	       21 

参考资料

https://support.apple.com/zh-cn/guide/security/sec5599b66df/web

macOS 提供门禁技术和运行时保护以帮助确保仅受信任的软件可在用户的 Mac 上运行。

门禁

macOS 包括一项称为门禁的安全技术,其设计旨在帮助确保仅受信任的软件可在用户的 Mac 上运行。当用户从 App Store 之外的地方下载并打开 App、插件或安装器软件包时,门禁会验证该软件是否来自可识别的开发者、经过 Apple 公证不含已知的恶意内容且未被修改。在首次打开下载的软件之前,门禁还会请求用户批准,以确保用户没有被诱骗运行他们认为只是数据文件的可执行代码。

默认情况下,门禁会帮助确保所有下载的软件已由 App Store 签名,或者由已注册的开发者签名且经过 Apple 公证。App Store 审核过程和公证流程均旨在确保 App 不含已知的恶意软件。因此,默认情况下,macOS 中的所有软件在首次打开时都会检查是否包含已知的恶意内容,无论它以何种方式安装到 Mac 上。

用户和组织可以选择仅允许从 App Store 安装软件。另外,用户可以忽略门禁策略以打开任意软件,除非受到移动设备管理 (MDM) 解决方案的限制。组织可以使用 MDM 配置“门禁”设置,包括允许使用备用身份签名的软件。如果需要,也可以完全停用门禁。

门禁还可防止在分发安全 App 时包含恶意插件。此处指使用 App 时在用户不知情的情况下触发恶意插件加载。必要时,门禁会从随机的只读位置打开 App。这旨在防止自动加载与 App 一起分发的插件。

运行时保护

系统文件、资源和内核与用户的 App 空间保持隔离。App Store 中的所有 App 均已经过沙盒化,以限制访问其他 App 储存的数据。如果来自 App Store 的 App 需要访问其他 App 的数据,则只能使用 macOS 提供的 API 和服务来进行访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/493715.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

瑞_23种设计模式_观察者模式

文章目录 1 观察者模式&#xff08;Observer Pattern&#xff09;1.1 介绍1.2 概述1.3 观察者模式的结构1.4 观察者模式的优缺点1.5 观察者模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK中提供的观察者模式实现 ★4.1 Observable类4.2 Obse…

修复ubuntu引导

一、制作ubuntu启动U盘 进入启动盘后&#xff0c;点击Try ubuntu&#xff0c;进入U盘的ubuntu系统。 二、配置和添加源 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update三、运行 Boot Repair重新制作引导 sudo boot-repair注意&#x…

使用OpenXlab下载数据集(推荐)

OpenXLab浦源面向人工智能领域开发者和使用者,提供一站式AI开发平台。提供包括应用开发,模型免费托管,数据集下载等服务 官方网址:https://openxlab.org.cn/datasets?lang=zh-CN 提供了6622种数据集, 涉及计算机视觉、自然语言处理、多模态、通用机器学习、音频识别以及其他…

Bash and a Tough Math Puzzle 线段树维护区间gcd

还是一道很不错的题目&#xff0c;很容易想到用一棵线段树来维护区间gcd 注意用倍数来剪枝就好了&#xff0c;很是一到很好的题目的 #include<iostream> #include<vector> using namespace std; const int N 5e510; int n,q; struct Segment{int l,r;int d; }tr[…

Kubeflow文档1:介绍与架构

Kubeflow 2024/3/19版本的文档 此专栏用来展示相关的内容翻译&#xff0c;重点关注本地部署&#xff0c;关于运营商的方案&#xff0c;请自行查阅 文档地址https://www.kubeflow.org/docs/ 开始编辑时间&#xff1a;2024/3/27&#xff1b;最后编辑时间2024/3/27 Kubeflow文…

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件&#xff0c;但是github上已经找不到了&#xff0c;后发现伟大的网友提供了地址如下&#xff1a;Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/ 免费下载实时更新的geoJson数据、行政区划边界…

【正点原子FreeRTOS学习笔记】————(4)FreeRTOS中断管理

这里写目录标题 一、什么是中断&#xff1f;&#xff08;了解&#xff09;二、中断优先级分组设置&#xff08;熟悉&#xff09;三、中断相关寄存器&#xff08;熟悉&#xff09;四、FreeRTOS中断管理实验&#xff08;掌握&#xff09; 一、什么是中断&#xff1f;&#xff08;…

leetCode刷题 20. 有效的括号

目录 题目&#xff1a; 1. 思路 2. 解题方法 3. 复杂度 4. Code 题目&#xff1a; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型…

docker部署音乐播放下载器

可播放及下载音乐的工具 musicn 下载镜像 docker pull ghcr.m.daocloud.io/wy580477/musicn-container:latest创建数据目录 mkdir -p /data/musicdocker-compose部署 vim docker-compose.yml version: 3 services:musicn:container_name: musicnimage: ghcr.io/wy580477/m…

短信系统后台搭建要注意什么|网页版短信平台开发

在搭建短信系统后台时&#xff0c;需要注意以下几个关键方面&#xff0c;以确保系统的稳定性、安全性和高效性&#xff1a; 选择合适的技术栈&#xff1a;根据项目需求和团队实际情况选择合适的后端开发语言和框架&#xff0c;如Java Spring、Node.js、Python Django等。 系统…

深入理解React的setState机制

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

耳目一新的滑块版登录注册界面~

又到了毕业季&#xff0c;大家做毕设的时候总会参考已有的案例&#xff0c;不过大多产品的样式非常单一雷同。本帖博主给大家分享一个比较别树一帜的登录界面&#xff0c;如下&#xff1a; 如果没有账号&#xff0c;点击“去注册”&#xff0c;则会产生如下的效果&#xff1a; …

【Linux 08】进程概念

文章目录 &#x1f308; 01. 基本概念&#x1f308; 02. 描述进程 PCB&#x1f308; 03. 使用 ./ 的方式创建进程&#x1f308; 04. ps 查看进程&#x1f308; 05. getpid / getppid 获取进程标识符&#x1f308; 06. kill 终止指定进程&#x1f308; 07. fork 创建子进程&…

设置asp.net core WebApi函数输入和返回类型中的属性名称开头大小写格式

以下列类型定义为例创建简单的ASP.NET Core的WebApi函数&#xff0c;此时输入参数和返回结果的属性名称开头默认为小写&#xff0c;如下图所示。 public class UserInfo { public string UserName { get; set; }public string UserSex { get; set; }public string UserP…

利用瑞士军刀netcat建立连接并实现文件上传

实验环境&#xff1a; Kali:192.168.117.129 Windows10:192.168.135.142 第一步&#xff1a;建立连接 在Windows上下载netcat(官网搜索) 下载好之后在netcat目录打开cmd进入小黑屏 实验一&#xff1a;建立虚拟机与主机的连接 命令&#xff1a; Kali:nc 192.168.135.144…

观成科技:白象组织BADNEWS木马加密通信分析总结报告

概述 白象&#xff0c;又名Hangover、Patchwork、摩诃草等&#xff0c;该组织主要针对中国、巴基斯坦等亚洲地区国家进行网络间谍活动&#xff0c;攻击目标以政府机构、科研教育领域为主。 自16年起&#xff0c;该APT组织一直持续使用攻击武器BADNEWS开展攻击活动&#xff0c…

C++:变量和常量(3)

变量 什么是变量&#xff1a;变量就是一个装东西的盒子 通俗&#xff1a;变量是用于存放数据的容器。我们通过变量名获取数据&#xff0c;甚至数据可以修改 变量的作用&#xff1a;给指定的内存空间起名&#xff0c;后期通过起的名字就可以调用整个内存空间 定义变量的格式 &a…

Jenkins--在Linux上使用Docker安装

一、Jenkins 简介 Jenkins是一个流行的开源自动化服务器&#xff0c;用于持续集成和持续交付&#xff08;CI/CD&#xff09;。Jenkins的核心功能主要包括以下几点&#xff1a; 持续集成&#xff1a;Jenkins可以监控版本控制系统&#xff08;如Git、SVN&#xff09;中的代码变…

pytorch+tensorboard

安装依赖 pip install teorboard pip install torch_tb_profiler了解teorboard 记录并可视化标量[组]、图片[组]。 如何使用 第一步:构建模型,记录中间值,写入summarywriter 每次写入一个标量add_scalar 比如: from torch.utils.tensorboard import SummaryWriter wr…

三、阅读器开发--4、阅读器目录、全文搜索功能开发

1、阅读器目录 1.1、实现目录 先实现目录的布局 定义一个蒙版&#xff0c;充满整个屏幕浮在阅读器上方&#xff0c;左侧为目录右侧为背景&#xff0c;目录下方包含一个tab&#xff0c;点击后会切换不同的内容&#xff0c;这里tab是目录、书签&#xff0c;这里可以通过如下的…