“您是否尝试过修复权限?"是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权限字段中的三种类型的用户:
接下来,让我们看看这些用户可以拥有的三种权限:
引起权限问题的因素
在OS X Yosemite和更早版本中,磁盘实用程序可以验证和修复某些文件和文件夹的权限。但是,实际上,该应用不会修复权限。
进一步说,磁盘实用程序修复权限使权限听起来可能变坏或随着时间的流逝而损坏。但是这是错误的。权限保持不变,直到某人或某人出现并进行更改为止。发生这种情况的原因有很多:
在OS X El Capitan之后发生了什么?
在OS X El Capitan中,Apple引入了系统完整性保护(SIP)。所有系统文件,文件夹,甚至捆绑的应用程序。它可以保护系统内容免遭有意和无意的篡改,同时还保留默认权限设置。 SIP保护以下目录: /系统, / usr, / bin,和 / sbin 。
当您更新Apple应用程序或升级macOS时,安装程序将在必要时检查并重置任何项目的权限。除非禁用SIP,否则任何第三方应用程序(无论其糟糕的行为)都不能更改权限。如果您感到好奇,我们将进一步研究SIP的作用。
关于用户和主文件夹的情况如何?
系统完整性保护不能保护中的项目/ Library 文件夹, / Applications 中的应用程序以及 Home 文件夹中的所有内容。 〜/ Library 文件夹尤其重要,因为它包含核心系统首选项文件,第三方应用程序首选项,钥匙串数据等。
如果将权限更改为这些文件或文件夹中的任何一个,在Mac上您都会遇到许多奇怪的问题。由于权限错误而引起的问题包括:
重置主文件夹的权限
从Finder边栏中,右键单击主文件夹,然后选择获取信息。单击共享和权限下拉三角形以查看其权限。
单击窗口底部的锁定按钮,然后输入管理员密码。然后选择操作菜单按钮,然后选择应用于随附的物品。
点击确定以确认操作。更新的权限将通过您的主文件夹传播。
下一步,打开终端应用程序,然后键入以下内容:
diskutil resetUserPermissions / `id -u`
此选项将重置根卷上的用户权限( / )更改为当前用户ID。如果一切正常,请重新启动Mac。
但是如果出现错误69841 ,请按照以下步骤操作:
chflags -R nouchg ~
diskutil resetUserPermissions / `id -u`
Mojave和更高版本的步骤与上述步骤相同,但是在继续操作之前,必须将Terminal添加到 Full Disk Access 。为此,请转到系统偏好设置>安全和隐私,然后点击隐私标签。点击锁定图标,然后输入管理员密码进行更改。
下一步,选择完全磁盘访问标签。然后单击 Plus 按钮并添加终端应用程序。
执行此操作之后,继续执行上面针对High Sierra和更早版本提到的终端命令。
了解Mac用户帐户
当“磁盘工具"应用程序中的用于修复磁盘权限的选项消失时,我们对此没有多大考虑,因为它从来都不是重要的故障排除步骤。但是,看到由于权限错误而可能遇到的问题类型,很明显,当出现这些问题时,重置Home文件夹的权限是最后的选择。
标签: