Mac Disk权限介绍:如何修复macOS权限

“您是否尝试过修复权限?"是Mac上一直存在的标准故障排除技巧,一直在网络上流传。对于许多用户而言,这似乎解决了许多罕见的问题。但是,当OS X El Capitan(10.11)发布时,“磁盘工具"应用程序中的修复磁盘权限选项突然消失了。

这是否意味着Apple已解决了Windows中与权限相关的问题macOS,还是其他?我们将揭开这个谜团,并向您展示Mac上磁盘权限的工作原理。

macOS中的权限工作原理

Mac上的每个项目(无论是文件还是文件夹)都带有一组权限。这些控制哪些用户帐户可以访问它以及他们具有哪种访问权限。权限包括三种活动(读,写和执行),由三种类型的用户(所有者,组和所有人)执行。

您可以为每个所有权层分别定义特权规则。权限与帐户和所有权结合在一起,可以为您提供安全性,实现受控的共享,可以设置文件的受限访问权限或不访问文件,以及维护系统完整性。

任何用户都可以使用Finder的信息查看文件和文件夹权限。窗口或终端。在Finder中,右键单击文件或文件夹,然后从上下文菜单中选择获取信息。单击共享和权限三角形以展开项目权限。

要在终端中查看此信息,请键入以下内容:

ls -l "path to your file"

后面的字符破折号是小写L ,表示文件的所有权和权限。在命令行上,读取权限的缩写为 r ,而写入权限为 w ,执行权限为 x

让我们细分出现在Mac权限字段中的三种类型的用户:

  • 所有者:项目所有者是创建项目或将其复制到Mac的用户。用户通常拥有其主文件夹中的大多数项目。
  • :每个项目也归一个组所有。群组是一组连接在一起的用户帐户,因此权限可以应用于所有成员。
  • 所有人:使用此权限设置可以定义任何人的访问权限,包括本地,共享和来宾用户。
  • 接下来,让我们看看这些用户可以拥有的三种权限:

  • 读取:用户或组成员可以打开文件,但无法保存更改。如果是文件夹,则可以浏览项目列表。
  • 写入:用户或组成员可以修改或删除文件。对于文件夹,可以更改文件夹的内容。
  • 执行:具有执行权限的文件可以充当程序或脚本。如果是文件夹,则执行意味着有人可以列出其内容,前提是还启用了读取权限。
  • 引起权限问题的因素

    在OS X Yosemite和更早版本中,磁盘实用程序可以验证和修复某些文件和文件夹的权限。但是,实际上,该应用不会修复权限。

    进一步说,磁盘实用程序修复权限使权限听起来可能变坏或随着时间的流逝而损坏。但是这是错误的。权限保持不变,直到某人或某人出现并进行更改为止。发生这种情况的原因有很多:

  • 应用安装程序:某些安装程序在安装过程中将现有项目的权限更改为必要的一部分,但未能将其恢复为正确的设置。
  • 用户错误::如果您在终端或第三方应用程序中摆弄权限,则错误可能导致问题。例如,不当使用 chmod 命令可以更改项目的权限设置。
  • 共享文件夹:计算机上的所有用户都具有权限来访问 Shared 文件夹中的项目。如果您将此文件夹用作传输中文件的存储库,那么权限问题就不太可能出现。但是,如果您永久存储供多个人使用的项目,则会出现问题。
  • 复制项目的权限:很难预测当您使用macOS时将分配哪些权限通过外部卷,SMB或FTP复制文件。您可能需要通过反复试验才能解决此问题。
  • 在OS X El Capitan之后发生了什么?

    在OS X El Capitan中,Apple引入了系统完整性保护(SIP)。所有系统文件,文件夹,甚至捆绑的应用程序。它可以保护系统内容免遭有意和无意的篡改,同时还保留默认权限设置。 SIP保护以下目录: /系统, / usr, / bin, / sbin

    当您更新Apple应用程序或升级macOS时,安装程​​序将在必要时检查并重置任何项目的权限。除非禁用SIP,否则任何第三方应用程序(无论其糟糕的行为)都不能更改权限。如果您感到好奇,我们将进一步研究SIP的作用。

    关于用户和主文件夹的情况如何?

    系统完整性保护不能保护中的项目/ Library 文件夹, / Applications 中的应用程序以及 Home 文件夹中的所有内容。 〜/ Library 文件夹尤其重要,因为它包含核心系统首选项文件,第三方应用程序首选项,钥匙串数据等。

    如果将权限更改为这些文件或文件夹中的任何一个,在Mac上您都会遇到许多奇怪的问题。由于权限错误而引起的问题包括:

  • 您对Finder,系统偏好设置或Dock所做的更改未保存。
  • 上次打开的Windows登录后注销或退出再次打开的应用程序。
  • 在移动“主页"文件夹中的某些项目时,系统会要求您输入管理员密码。
  • 您反复收到一条消息,说“ macOS需要修复您的媒体库才能运行应用程序。"
  • 保存文件时,您会收到一条消息,指出文件已被锁定或没有必要的权限。 Microsoft Office文档经常发生这种情况。
  • 默认或第三方应用程序可能会在启动时崩溃。某些应用甚至可能无法更新。
  • Firefox或Chrome不会加载您的首选项,并显示“无法加载个人资料"。
  • 导入到“照片"中的照片和视频不会出现在应用程序中。或者,您每次打开应用程序时都会收到一条消息,选择默认的照片库。
  • 重置主文件夹的权限

    从Finder边栏中,右键单击主文件夹,然后选择获取信息。单击共享和权限下拉三角形以查看其权限。

    单击窗口底部的锁定按钮,然后输入管理员密码。然后选择操作菜单按钮,然后选择应用于随附的物品

    点击确定以确认操作。更新的权限将通过您的主文件夹传播。

    下一步,打开终端应用程序,然后键入以下内容:

    diskutil resetUserPermissions / `id -u`

    此选项将重置根卷上的用户权限( / )更改为当前用户ID。如果一切正常,请重新启动Mac。

    但是如果出现错误69841 ,请按照以下步骤操作:

  • Open the Terminal app and enter the following:
    chflags -R nouchg ~
  • Then enter this command once more:
    diskutil resetUserPermissions / `id -u`
  • 重新启动Mac。
  • Mojave和更高版本的步骤与上述步骤相同,但是在继续操作之前,必须将Terminal添加到 Full Disk Access 。为此,请转到系统偏好设置>安全和隐私,然后点击隐私标签。点击锁定图标,然后输入管理员密码进行更改。

    下一步,选择完全磁盘访问标签。然后单击 Plus 按钮并添加终端应用程序。

    执行此操作之后,继续执行上面针对High Sierra和更早版本提到的终端命令。

    了解Mac用户帐户

    当“磁盘工具"应用程序中的用于修复磁盘权限的选项消失时,我们对此没有多大考虑,因为它从来都不是重要的故障排除步骤。但是,看到由于权限错误而可能遇到的问题类型,很明显,当出现这些问题时,重置Home文件夹的权限是最后的选择。

    标签: