TenTo
V2EX  ›  macOS

如何阻止非 app store 程序在 mac 上运行?

  •  
  •   TenTo · Sep 3, 2015 · 4681 views
    This topic created in 4084 days ago, the information mentioned may be changed or developed.
    设置中已经设置为只允许从 Mac App Store 下载的程序运行,但是其他非 mac store 的软件,双击还是可以运行。
    之前记得第三方软件是运行不起来的,并且会有提示来自身份不明的开发者。不知道为什么现在所有都可以运行,只是提示说“该软件是从网络下载的,是否需要运行”。
    能阻止非 app store 程序的运行吗?
    11 replies  •  2015-09-04 08:39:23 +08:00
    aluo1
    aluo1
    Sep 3, 2015
    1
    第一次运行第三方软件时会被拦截,同意之后就不会再有拦截了
    holulu
    holulu
    Sep 3, 2015
    2
    系统偏好设置->安全性与隐私->通用->允许从以下位置下载的应用程序: Mac App Store
    squid157
    squid157
    Sep 3, 2015
    3
    估计是 Ctrl+点击之后打开的,依然可以。我这里只允许签名过的 App ,但未签名的也可以“强制”打开,一次之后系统就不管了。
    TenTo
    TenTo
    OP
    Sep 3, 2015
    4
    @aluo1 那有没有办法恢复拦截呢?总觉得现在的情况不心安。
    TenTo
    TenTo
    OP
    Sep 3, 2015
    5
    @holulu 已经这样设置过了,依然无法阻止,找了很多办法,删了很多配置文件。第三方软件还是可以直接双击运行。
    yyfearth
    yyfearth
    Sep 3, 2015
    6
    @TenTo "系统偏好设置->安全性与隐私->通用->允许从以下位置下载的应用程序: Mac App Store"
    新下载的 App 第一次运行的时候会被阻止 但是只阻止一次 如果你已经运行过 那么就不会再阻止

    不过要达到你的目的很简单啊 把这些已经运行过的 App 删掉就好了啊
    以后如果再下载 就默认不能运行

    但是 如果你右键菜单 运行的话 无论如何还是可以执行的

    另外 我发现运行下面的指令 貌似可以让一些自动运行的 App 从新弹出是否运行 不过没啥依据
    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user; killall Finder
    TenTo
    TenTo
    OP
    Sep 3, 2015
    7
    @yyfearth 好的,我去试试看
    TenTo
    TenTo
    OP
    Sep 3, 2015
    8
    @yyfearth “把这些已经运行过的 App 删掉就好了啊 以后如果再下载 就默认不能运行”,这个不对,我把程序删除后,重新下载,双击直接运行,并没有什么提示。
    我现在的软件不是自动运行的,所以你后面提供的方式我没有试。
    谢谢。
    yyfearth
    yyfearth
    Sep 3, 2015
    9
    @TenTo 另外你是怎么下载的 必须是通过浏览器下载的才会有
    通过其他途径下载的 就不一定

    比如你用迅雷 curl/wget/axel 下载 或者在 windows 下面下载后复制过来 都无效

    这个功能的实现原理是 浏览器或者支持这个特性的下载器 下载文件的时候 会给这个文件加上一个标记 "xattr com.apple.quarantine"
    而且这个标记解压的时候 如果是通过系统内建的工具解压 会把这个标记传递给解压的文件
    如果这个文件是个 app 那么会在第一次执行的时候进行签名的检查

    windows 的 smartscreen 也是一模一样的技术
    wohenyingyu01
    wohenyingyu01
    Sep 3, 2015
    10
    用 guest 账号登陆 mac ,所有具有危险性的第三方软件都要你输入密码才能运行,不具有危险性(需求权限低)的软件在你退出登录之后的所有痕迹都会被删除,和没运行过一样。
    TenTo
    TenTo
    OP
    Sep 4, 2015
    11
    谢谢各位,暂时还没有很好的办法。第三方的 App 第一次同意之后,后面就不会再提示了,也找不到对应的配置位置。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1518 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:38 · PVG 19:38 · LAX 03:38 · JFK 06:38
    ♥ Do have faith in what you're doing.