我使用 OSX 的磁盘实用程序来验证磁盘权限,发现很多系统文件的权限不正确。我认为所有文件都更加开放,允许其他人读取或写入。此外,许多文件分配了错误的组。这是怎么回事?
答案1
我的第一个猜测是:在大多数情况下,这只是程序员方面缺乏关心。要么是因为他们一开始就没有考虑到这一点,要么是如果某些事情不起作用,他们可能会尝试扩大权限,即使这没有帮助。考虑那些需要您输入超级用户密码的应用程序。他们能用它做什么,什么将要他们用它做什么?
好吧,让我们看看能找到什么。
官方立场:
Apple 有关于解决权限问题,其中写道:
第三方应用程序安装程序错误地设置了所安装文件甚至整个“应用程序”文件夹的权限. [...] 以一个用户身份登录时安装的软件也有可能无法在以另一个用户身份登录时访问。
还有另一个原因:
文件系统可能会受到电源中断(非正常关机)或停止响应(“挂起”或“冻结”)的影响。这可能会影响权限。
有些应用程序可能会故意想修改权限以便能够在系统上“做更多的事情”:
用户执行的大多数应用程序只能访问用户有权访问的文件。例如,备份软件可能无法备份具有 root 所有权的 Mac OS X 系统文件。
一般来说,定期修复权限并不是一个坏主意。不会有什么坏处。特别是当你突然遇到没有明显原因的麻烦时。或者如果你想确保自己不会意外修改或删除重要的系统文件。
那么,什么是“正确的权限”呢?修复权限对话框显示权限错误,这真的会造成任何损害吗?错误的权限会增加安全风险吗?在 95% 的情况下可能并非如此。正确的权限由使用“收据”安装的应用程序定义,您可以在Library/Receipts
或最近在 下找到它们/var/db/receipts
。请注意,它们是仅检查使用 Apple 安装程序安装的软件:
未作为 Apple 提供的安装程序包的一部分安装的文件不会列在收据中,因此不会被检查。例如,如果您使用非 Apple 安装程序应用程序安装应用程序,或者从磁盘映像、网络卷或其他磁盘复制应用程序而不是通过安装程序安装应用程序,则不会创建收据文件。
非官方职务:
甚至有些人似乎反对修复,但我不会相信他们说的一切。帖子中提到了权限不正确的几个原因:
导致权限问题的另一个主要原因是需要 root 权限的第三方安装程序在 OS X 上,并更改了目标路径中某些文件夹的权限。我知道 [...] 自从更新了安装程序以防止出现这种怪异情况(这些安装程序会告诉您在 OS X 上安装软件时退出所有应用程序)
因此,任何第三方应用程序都可以修改权限并以某种方式错误地设置它们。
基本上我说的是:编程错误。在日常使用中,程序可能会更改文件权限。但想象一下安装程序或程序实际上设置了错误的权限,惹上大麻烦整个系统——你不认为他们会尽快解决这个问题吗?
我还没有尝试过,但请继续,修复权限,重新启动 Mac,然后验证它们。我确信有些东西需要再次修复。也许人们不应该太担心,除非他们有非常具体的安全问题,他们知道哪些文件受到了影响。
主页对这个问题有所阐释。
未分类的阅读材料:
- 2010年:关于“磁盘工具”的“修复磁盘权限”功能
- 2008年:解决 Mac OS X 中的权限问题
- 2006年:Macintosh OS X 日常维护
- 2006年:修复权限:你需要知道什么
- 2005年:徒劳无功之举第 2 部分:修复权限毫无用处
答案2
Apple 的 PackageMaker 因不应用其包设计 UI 中指定的权限而臭名昭著(例如,参见“回复:难以忍受的 PackageMaker 权限缺陷”,以及 Google 上的更多信息)。因此,如果您信任 Apple 的开发者软件能够正常工作,那么您的安装程序很有可能会出错。
旧版本的 PackageMaker 要求开发人员构建包含其应用程序的整个目录层次结构,然后安装程序将应用开发人员创建的应用程序目录上的权限。(有关针对旧版本 PackageMaker 的如何解决此问题的方法,请参阅WhiteBox 的“PackageMaker 使用方法”。)这也很容易出错。
各种系统文件的正确权限也随时间而变化。有关一个小示例,请参阅“回复:Snow Leopard 上的权限”.这会导致先前正确的安装程序不正确。