使用文本编辑器编辑 sudoers 文件 - 现在无法运行 sudo

使用文本编辑器编辑 sudoers 文件 - 现在无法运行 sudo

我现在知道我永远不应该尝试etc/sudoers使用常规文本编辑器编辑该文件。然而,在我了解这一点之前几分钟,我用 Sublime Text 在文件中保存了一个新的用户名。现在,当我运行时sudo cat sudoers,我收到以下错误:

>>> /etc/sudoers: syntax error near line 1  <<<
sudo: parse error in /etc/sudoers near line 1
sudo: no valid sudoers sources found, quitting

我怎样才能摆脱这个困境呢?

答案1

我看到您已经标记了您的问题osx,因此如果您是在 Mac 上完成此操作,请使用 GUI。

  1. 打开任意 Finder 窗口并按cmd shift G
  2. 键入/etc/sudoers并按return即可转到文件
  3. cmd i突出显示文件时按下
  4. 滚动到该信息窗口底部的“共享和权限”,然后单击右下角的锁定图标
  5. 输入管理员用户名和密码
  6. 现在使用按钮将您自己添加到该窗口中+并选择“读取和写入”权限
  7. 在任何编辑器中打开文件并修复您第一次搞砸的问题!

答案2

我无法通过在“共享和权限”中添加我的用户名并将权限更改为“读取和写入”来编辑 sudoers 文件。

我未能成功创建新文件并将其权限更改为 root:wheel 和 0440。

最后我不得不进入恢复模式(重新启动 - > cmd+R)

  1. 通过磁盘实用程序挂载 Macintosh HD
  2. 通过实用程序转到终端
  3. 转到 cd Macintosh HD/private/etc
  4. 编辑 sudoers 文件以更正错误。
  5. 如果需要,保存并更改权限。 sudoers 文件需要 root:wheel。如果不是,则 sudo 将不会运行。 chown root:wheel sudoers
  6. 我还将权限更改为 0440,因为最初我删除了 sudoers 并在登录时创建了一个新副本。

答案3

感谢@toxefa,它通过信息 GUI 修改权限并编辑 sudoer 文件为我工作。

2020-09-10-macOS-fix-sudoer.png

答案4

这对我有用(假设具有管理员权限):

1-启用root用户

  • 系统偏好设置 -> 单击挂锁图标解锁(输入用户密码)
  • 单击登录选项
  • 网络帐户服务器,单击“加入...”->“打开目录实用程序...”
  • 单击挂锁解锁
  • 单击顶部菜单中的编辑 -> 启用 Root 用户,输入 root 的密码

2- 注销 osx

3- 使用其他用户名登录 osx:root,密码:您在步骤 1 中输入的任何内容

4-打开终端“sudo visudo”并更改您需要更改的内容

5- 注销 root 用户并登录你的帐户

6- 使用系统偏好设置中的相同方法禁用 root 用户(步骤 1)

苹果的文档:https://support.apple.com/en-us/HT204012

相关内容