本人的设备是 Pro 14, Ventura 13.1, M1
关于macOS权限系统主要有如下几个疑问
~/Desktop
~/Document
等?以及是否能直接访问摄像头、麦克风、键盘监听而无需用户同意?问题一:权限拦截为什么会失效?
当你在第一次使用应用程序访问文件时,系统会询问是否允许应用程序访问该文件。如果你取消了应用程序的访问请求,那么应用程序将无法访问该文件,但是在这种情况下,vscode和其他第三方文本编辑器会仍然能打开文件。这是因为,在一些第三方软件中,它们会有一个权限缓存机制,在用户拒绝授权后,会继续尝试使用缓存权限去打开文件,如果缓存权限存在,就可以打开文件。
问题二:输入密码是代表给了这个进程 root 权限吗?
输入设备密码是为了让你的应用程序能够安装帮助程序。这个帮助程序会运行在 root 用户下,但它并不会拥有 root 权限。在 macOS 中,root 权限是严格限制的,即使程序在 root 用户下运行,也需要获得用户许可才能访问某些文件或目录,如 ~/Desktop 和 ~/Document。同样的,这个程序也需要获得用户许可才能访问摄像头、麦克风和键盘监听。
问题三:pkg安装包通常需要输入密码才能安装,是否会比dmg更加不安全?
比较两者权限上来说,通过 pkg安装包安装的程序和通过dmg安装的程序在权限上没有区别。在安装过程中都需要输入设备密码,这是为了确保安装的程序是用户所认可的,并且不会有恶意程序安装在系统中。
问题一:当你取消给 vscode 桌面的访问权限时,vscode 仍然能打开文件是因为 macOS 的安全策略没有立即生效。在取消权限之后,vscode 仍然可以使用已经获得的权限进行文件访问。在下次重启 vscode 应用程序后,权限拦截才会生效。
问题二:安装应用程序时需要输入设备密码是为了确保安装过程的安全性,并不代表给了这个进程 root 权限。 root 权限的程序可能会跳过 macOS 安全策略直接访问用户根目录下的特定目录,并可能直接访问摄像头、麦克风、键盘监听而无需用户同意。但是在macOS上获得root权限需要管理员密码,而不是设备密码。
问题三:在安装过程中,pkg 安装包和 dmg 安装包相比,安全性是相同的。事实上,两种安装包都需要管理员身份才能安装,并且在安装过程中都需要确认安装的应用程序的来源。
您说的vscode打开桌面文件的权限问题,可能是因为您之前授予过权限,导致该软件有权限记录。您重启下软件或电脑,没准就要权限了。
您说的安装时需要设备密码的问题,这是mac电脑的安全策略管理,跟请求root权限不一样,其次您担心的怕没征求用户同意收集个人隐私数据的问题,并不是说获取了root权限,这个风险就存在,而是时时刻刻存在的,尤其现在这个时代,各种软件横行,有些软件在未征得用户同意下也会偷偷的收集用户数据的。
pkg和dmg的安全性应该差不多的,放心。
望采纳,仅供参考,属于个人理解。
权限拦截失效,可以尝试使用,磁盘工具修复一下。
可参考这篇:
http://www.nndssk.com/xtjc/288120YXsad1.html
输入密码并不是获取 root 权限,你访问摄像头和麦克风,首次必须授权,隐私设置窗口 app 也要勾选上才行。
PKH 和 DMG 我觉得有如下区别:
PKG 文件一般是文件夹;它们将几个文件打包成一个,你可以一起下载。PKG 文件是安装包。另一方面,DMG 文件则是简单的磁盘镜像。
当你打开一个 DMG 文件时,它会启动软件安装程序或存储在其中的内容,通常在你的计算机上显示为一个可移动的驱动器。DMG 不是一个安装程序;它只是一个可移动媒体的映像,像 ISO 文件一样。
macOS权限系统主要是为了保护用户的数据安全。
在您的第一个问题中,当您使用 VSCode 打开桌面上的文件时,系统会询问用户是否允许 VSCode 访问桌面目录。如果用户选择取消,VSCode 仍然可以打开文件,这是因为 macOS 系统在询问用户授权时会缓存用户的选择,直到用户重新修改或重启系统。在这种情况下,如果您想要撤销 VSCode 的桌面访问权限
,您可以在“系统偏好设置”->“安全性与隐私”->“隐私”标签页中找到 VSCode,点击“-”按钮移除它的访问权限。
在您的第二个问题中,如果您禁止了Terminal对Desktop文件夹的访问权限,它将不能读取列出Desktop文件夹下的文件,但是Terminal仍然可以读取其它文件夹,例如Documents文件夹,这是因为系统会根据用户的权限控制程序访问文件的能力。
总之,macOS权限系统是为了保护用户的数据安全而设计的,它会根据程序对不同文件夹的访问权限进行控制。