是什么原因导致High Sierra忘记了我的主目录?


22

最初的问题

我遇到了一个零星的问题,我的Mac似乎“忘记”了我的主目录所在的位置。

第一个线索(因为这是我经常做的事情)始终是Google Chrome无法打开新标签页。我得到“哦按扣”错误屏幕。这导致我退出Chrome并重新启动它,进而导致出现此错误对话框,此后Chrome无法启动:

对话框的屏幕截图:“ Google Chrome无法读取和写入其数据目录:/ var / empty / Library / Application Support / Google / Chrome”

其他症状

许多其他需要主目录知识的事情也会失败:

  • 当我打开某些Apple应用程序(例如“预览”,“注释”,“消息”)时,出现一个对话框,提示该对话框需要修复我的主目录并要求我进行身份验证。在此处输入密码会导致/var/empty/Library的所有者更改为我(从长远来看很不好,但是允许某些事情开始起作用)。
    • 对话框的屏幕快照:“ macOS需要修复您的库才能运行应用程序。”
  • 单击时Safari根本不会打开-它会在扩展坞中短暂显示,然后消失,没有“崩溃报告”对话框(尽管我不能说处于这种状态的系统是否知道我希望查看那些对话框)。
  • 即使在“修复我的媒体库”之后,许多应用也无法打开:
    • 预览:将出现一个Finder对话框:无法打开应用程序“预览”。
    • Chrome:与以前相同的错误对话框,如上图所示
    • 注意:停靠图标出现,然后消失。
  • 修复我的媒体库后,某些以前无法打开的应用程序现在可以打开,其中许多忘记了我的设置:
    • Safari(我在研究时正在使用它来写这个问题)
    • BBEdit
    • Pixelmator
    • 笔记
  • 无论“库”权限如何,某些应用似乎都不会受到影响:
    • 安慰
    • 系统偏好设定
    • 钥匙串访问
  • 除非使用Grab或按住Control将屏幕快照写入剪贴板,否则我无法截取屏幕截图(因为它没有对的写访问权限/var/empty/Desktop,该权限由root正确拥有)。
  • 在“打开”和“保存”对话框中,它不会在边栏中显示我的主目录,也不会在其中显示任何常用目标位置(桌面,文档等)。
  • 激活屏幕保护程序后,将显示系统默认设置(Flurry),而不是我的常规设置(“经典”指向我选择的照片目录)。
  • 终端使用默认的颜色/字体/等设置,而不是我的自定义设置。

还有其他事情似乎运行良好:

  • 时间机器
  • 聚光灯
  • 热门角落

自从我的工作机器发布后几天升级到High Sierra以来,到目前为止已经发生了3次。

这个调查

研究似乎表明macOS并不认为我的主目录是/var/empty,而是它不知道我一个主目录,并且某处存在一些后备逻辑,该逻辑会导致系统对任何用户使用/ var / empty没有主目录。(来源:是否可以创建没有主目录的用户?

进一步的研究表明/ var / empty是不应该访问任何内容的用户的“安全监狱”(这就是为什么更改权限或在其他位置进行符号链接很不好的原因)。(来源:https : //serverfault.com/questions/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd

根据过去的情况,重新启动可以解决问题(直到下次发生)。提交此问题后,我将尝试断开/重新连接网络电缆,然后注销以查看是否有任何帮助;我将返回并相应地编辑此段。 更新:我已断开连接并重新连接了网络电缆,然后重新启动了Finder。Chrome可以再次使用,所有其他症状似乎也已解决!当然,这可以减轻发生此问题时的痛苦,但是我仍然非常想理解并防止根本原因。

从终端我看不到的任何东西似乎都显示出问题:

Last login: Mon Nov 13 13:21:18 on ttys000
jrobb@oke-jrobb-mb: ~ % pwd
/Users/jrobb
jrobb@oke-jrobb-mb: ~ % cd /var/empty
jrobb@oke-jrobb-mb: /var/empty % ls -la
total 24
drwxr-xr-x   8 jrobb  staff   256B Oct 20 16:32 ./
drwxr-xr-x  27 root   wheel   864B Oct 20 14:49 ../
-rw-r--r--@  1 root   staff    10K Oct 20 16:32 .DS_Store
drwx------   2 root   staff    64B Oct 14 05:52 .ssh/
drwx------   4 root   staff   128B Oct  9 13:22 Desktop/
drwx------   3 root   staff    96B Sep 25 15:46 Documents/
drwx------   3 root   staff    96B Sep 25 15:46 Downloads/
drwx------+ 28 root   staff   896B Nov 13 13:37 Library/
jrobb@oke-jrobb-mb: /var/empty % whoami
jrobb
jrobb@oke-jrobb-mb: /var/empty % echo $HOME
/Users/jrobb
jrobb@oke-jrobb-mb: /var/empty % 

High Sierra的集成日志记录使Console.app成为梦night以求的梦,但是尽管如此,我还是花费了大量时间寻找相关消息。我发现了几个,似乎是错误造成的问题,但没有出现到成为问题。我怀疑这是由于以下事实造成的:您无法将所有子系统中所有消息的无尽流滚动回到打开控制台之前,并且没有明显的方式一次可以搜索多个文件,除非您要搜索上述仅转发流。一切正常时,我没有运行Console,所以我想我很走运吗?(非常感谢您在此提供的任何帮助/建议。)

我见过许多其他人遇到相同问题的情况,最早可以追溯到2014年(10.9小牛)。以下是与遇到相同或相关问题的其他人的一些链接,对此没有令人满意的解决方案:

看来,对于那些拥有“解决方案”的人来说,它们实际上是创可贴,可暴露出重大的安全漏洞:

  • 符号链接/var/empty到正确的主目录
  • chown _user_ /var/empty
  • 等等

上下文

我正在使用运行High Sierra的2013年末iMac(Core i7 3.9GHz,32GB RAM,1TB SSD)(始终是最新的修补版本;此版本从10.13.0开始,现在影响10.13.1)。这是由Jamf管理的设备,我向Active Directory域进行身份验证。我在“用户和组”首选项中的个人资料被标记为“管理员,托管,移动”。

升级到High Sierra之后,我们开始在我工作的地方使用Jamf,因此这可能是Jamf问题或High Sierra问题(或其他任何问题)。

还有许多其他的Mac用户,许多其他的High Sierra用户以及许多其他的Jamf用户。据我所知,没有其他用户遇到此问题。我是唯一的iMac用户-这里的所有其他Mac都是笔记本电脑。(我很难想象我的iMac是问题所在-只是详尽而已。)

此问题开始在用户会话的中间发生。一切都很好,直到突然变得不妙。因此,我认为它与登录或Active Directory没有任何关系。

我在寻找什么

我正在寻找一个可以阻止macOS首先进入此状态的答案,并希望能解释何时以及如何发生。


1
感谢您提供有关您的环境的详细信息,它使您更容易理解此处的复杂性。
nohillside

话虽如此:您是否证实“一切”在事物的Jamf方面都很好(即,将您的个人资料与其他用户的个人资料进行了比较)?如果另一个用户(具有jamf配置文件)使用iMac一段时间,会发生什么情况?
nohillside

@patrix我将进一步调查并编辑,更多信息将在Jamf侧提供。我无权访问我们的Jamf管理员资料,而必须通过我们的系统管理员来工作,他是Jamf的新手,并且比我少一些Mac专家。
JakeRobb

我刚刚和系统管理员一起看了几分钟,然后我们查看了我的Jamf个人资料。没有任何进展,但是他将做一些进一步的研究。
JakeRobb

3
有趣的是,断开/重新连接以太网电缆以及Finder重新启动已消除了所有症状并恢复了正常行为。奇怪的!我更新了问题以反映这一点。
JakeRobb

Answers:


5

与苹果公司就此打开一个错误。我有一个公开的案例,但是他们需要更多人的来信。我很少见到这种情况,但只能在使用托管的移动帐户连接到Active Directory的计算机上(所以我想这只是10.13中许多AD错误中的另一个仍未修复。)

我发现如果生成sysdiagnose(以更新我的案例),那么在生成sysdiagnose的同时问题也将消失。

但是,我无能为力,所以我不知道是什么原因造成的。


1
谢谢!我从未向Apple提出过错误;不知道该怎么做。我需要注册为开发者吗?(我是使用Mac的开发人员,但我制作了
Web应用程序

1
我应该先问问谷歌的事情。:) developer.apple.com/bug-reporting 鉴于我没有复制步骤,所以我没有希望。但是我会提交一些东西。
JakeRobb '17

2
是的,即使您无法复制,也请提交一些内容。多次被告知,关于某个问题的错误报告数量引起了人们的关注。我可以打开一个错误并说“ 8000 Macs出现此问题”,但这与在同一问题上的8000错误报告没有得到同样的关注。
maser

3

长远的答案是不要将任何Mac绑定到AD,而是要使用一种工具来松散耦合用户权限并利用kerberos进行身份验证。

  • Apple Enterprise Connect-您需要付费以寻求专业服务,以发现/配置和记录适用于您环境的解决方案。https://www.apple.com/support/professional/
  • NoMAD和/或NoMAD Pro- https : //nomad.menu- 开源工具,提供付费支持和咨询选项以及供应商提供的工具。

绑定很痛苦,让疼痛恶化和收缩的时间越长。您的问题很坚定,我希望有人能为您提供快速解决方案,但是我已经看到一些组织在试行NoMAD并大规模致力于AEC或NoMAD时走出了困境。安装JAMF Pro确实可以帮助您部署这两种工具。


您是否有任何具体的理由相信该问题与AD绑定有关?我听到过很多恐怖的故事,但我不愿意将其作为没有证据的原因。
JakeRobb

仅凭我管理许多Mac @JakeRobb的经验-您可能只是一次崩溃,需要擦除操作系统-再次创建用户帐户,然后恢复数据。不用动手就很难知道。
bmike

3

我发现以下内容可“纠正”该问题。

  1. 打开系统偏好设置>用户和组
  2. 解锁窗格
  3. 右键单击受影响的用户帐户>高级选项...
  4. 在主目录旁边:单击选择...
  5. 点击打开
  6. 点击确定

这似乎已经重写了主目录路径,并允许返回功能。

在我的情况下,注销并重新登录会导致光标出现黑屏-尽管在经过软重启后能够重新登录,但较长的进度条却使一切恢复正常。

希望这可以帮助!祝好运!


1
这很有用,但不能回答我提出的实际问题。不过谢谢!:)
JakeRobb '18

2

你们是否将UID映射到不同的属性?过去,当我在OS X / MacOS中看到它时,是因为我们在内部将UID映射到一个通用ID(在UNIX和AD中是相同的),并且在尝试进行这种转换时受到了阻碍。用户失去了对其主目录的权限,并显示了您在Finder等中看到的症状。

在目录实用程序中,您可以在Active Directory下的“映射”选项卡中看到“将UID映射到属性:”。


我的系统上没有选中三个映射复选框。
JakeRobb '17

1

每当Chrome需要更新而我退出并重新启动该应用程序时,我的工作计算机(已附加广告)就会发生这种情况。我猜测这是更新程序(基本上是静默的)在尝试在本地未管理uids等情况下重写到用户目录时出现的某种问题。

对我有用的只是重置所有互联网连接;例如,拔掉以太网并关闭WiFi


有趣的理论!FWIW,自从我大约一年前发布此问题以来,这种情况再也没有发生过,并且在那段时期我肯定对Chrome进行了多次更新。
JakeRobb

0

FWIW,这不是Chrome问题。发生此问题时,它也会影响其他应用程序。不建议将此作为修复方法,但是,如果您遵循Jamf Nation URL,您将在线程底部看到我的帖子。我们管理相当大的Mac环境。我们有一个政策要从Active Directory取消绑定Mac,另一个政策是将Mac绑定到Active Directory。由于某些奇怪的原因,解除绑定然后重新绑定似乎可以“解决”问题。我将“修复”用引号引起来,因为它只不过是一个冰雹玛丽,可能根本与根本问题无关。¯\ _(ツ)_ /¯


请注意,我的问题并未将其显示为Chrome问题。Chrome只是第一个成为该问题受害者的应用程序。但是,谢谢您提供额外的背景信息!
JakeRobb '18

可以理解,我的道歉暗示了这一点。今天就可以通过Apple企业支持部门获得一张罚单。
donmontalvo '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.