我使用迁移助手设置了一台新的 Macbook。由于我想保留旧计算机上的用户目录的名称,并且该名称附加到我在迁移过程中迁移的帐户,因此我对用户目录进行了一些重命名,以便我的新主用户最终使用旧的主用户用户的目录名称。之后,我删除了我迁移的帐户。这似乎在目录所有权方面造成了一些混乱,如此处的一个小示例所示(只是一个具有三个目录的位置的随机示例,展示了我的系统上存在的所有三种状态):
❯ cd /opt
❯ ls -l
total 0
drwxr-xr-x 9 root wheel 288 3 Nov 2016 X11
drwxr-xr-x 33 <myuser> admin 1056 17 Sep 18:20 homebrew
drwxr-xr-x 3 501 staff 96 22 Jan 2017 homebrew-cask
root:wheel
似乎是默认设置。
我今天手动将
homebrew
目录更改为当前用户,因为 Hombrew 遇到了一些问题,并且该目录以前也属于 501:staff
。
最后一行显示了存在带有
501:staff
的目录的情况。经过一些初步研究,在我看来,这些目录是从我的旧 Macbook 迁移而来的,它们仍然属于那里的主管理员帐户。删除该用户后(请参阅上面的介绍),他们被分配给 501:staff
。
我也有点困惑,因为我既找不到
<myuser>
也找不到 501
/etc/passwd
。 (我应该吗?)
通常,当您在保留权限和所有权的同时迁移文件夹时,如果目标上不存在源用户/组,您将在
ls
输出中看到用户/组 ID,而不是名称,因为所述名称是目标计算机未知。
这里看来该文件夹的所有者是用户 ID 为 501 的用户。
仅此而已:)
关于第二个问题,您可以使用
brew doctor
检查并修复自制程序设置的任何问题,包括正确的权限。