无法在 OSX 上使用 sudo,获取 sudo:未知 uid 501:你是谁?

Unable to use sudo on OSX, getting sudo: unknown uid 501: who are you?

当我在终端输入 sudo <command> 我得到 sudo: unknown uid 501: who are you? 当我输入 su 我得到 su: who are you?

我想我一定是在我的个人机器上以某种方式更改了超级用户权限。我现在无法使用 sudo 命令,也找不到任何有用的解决方案。我必须对我的 /etc/passwd 文件做些什么吗?我什至可以修改它吗?

您是否在计算机上启用了 root 用户?执行以下步骤检查:

  1. 启动系统偏好设置。
  2. 单击用户和组。
  3. 单击 "Click the lock to make changes." 并输入管理员用户名和密码(如果当前用户是管理员,则只输入密码)。
  4. 点击"Login Options"。
  5. 单击 "Network Account Server: Join" 按钮。
  6. 点击"Open Directory Utility"。
  7. 在“目录实用程序”菜单中,单击“编辑”。
  8. 如果有显示为 "Disable Root User" 的菜单项,您将作为 root 用户启用。
  9. 如果菜单项显示 "Enable Root User",请单击 "Click the lock to make changes." 并输入管理员用户名和密码(如果当前用户是管理员,则只输入密码)。
  10. Select "Enable Root User".
  11. 设置根用户密码。它可以不同于管理员密码。

执行此操作后,sudo 和 su 应该使用 root 用户密码。

FWIW - 我只需要安装(通过重启)已下载的自动更新并已修复。注销并重新登录无效。

似乎只需重新启动 iterm2 也可能就足够了,因此这可能是一个更好的起点。