返回

如何解决 sudo 权限错误:username-is-not-in-the-sudoers-file

Linux

如何解决 “username-is-not-in-the-sudoers-file” 错误

什么是 sudo?

sudo 是一种用于在 Linux 系统上授予普通用户执行管理任务的权限的命令。它通过让用户输入 root 密码来验证特权操作。但是,当普通用户不在 sudoers 文件中,或者输入的 root 密码不正确时,就会出现上述错误。

导致该错误的常见原因

  1. 用户没有 root 权限
  2. 用户不在 sudoers 文件中
  3. 输入的 root 密码错误

解决错误的方法

  1. 确保你有 root 权限

    向系统管理员申请,以获得 root 权限。

  2. 将用户添加到 sudoers 文件中

    以 root 身份打开 sudoers 文件:

    sudo visudo
    

    在文件末尾添加以下行:

    username ALL=(ALL) ALL
    

    保存并退出 sudoers 文件:

    Ctrl + X,然后按 Y 确认保存。

举例说明

在 Ubuntu 中为用户 myusername 启用 sudo 权限:

  1. 确保 myusername 用户存在:

    sudo adduser myusername
    
  2. 将 myusername 用户添加到 sudoers 文件中:

    sudo visudo
    

    在文件末尾添加以下行:

    myusername ALL=(ALL) ALL
    
  3. 保存并退出 sudoers 文件:

    Ctrl + X,然后按 Y 确认保存。

  4. 尝试再次执行 sudo 命令:

    sudo apt update
    

其他注意事项

  • 如果仍然遇到错误,请检查你输入的 root 密码是否正确。
  • 确保 sudoers 文件的语法正确。
  • 确保你的用户 shell 是 /bin/bash。

常见问题解答

  1. 如何检查我是否在 sudoers 文件中?

    使用 grep 命令:

    grep username /etc/sudoers
    
  2. 我是否可以在不编辑 sudoers 文件的情况下暂时授予用户 sudo 权限?

    是的,可以使用 sudo -u 命令:

    sudo -u username command
    
  3. 如何撤销用户的 sudo 权限?

    从 sudoers 文件中删除他们的条目。

  4. 为什么 sudoers 文件需要以 root 身份编辑?

    因为只有 root 用户才能编辑此文件。

  5. 为什么我输入 root 密码时会出现错误?

    确保你输入了正确的 root 密码,并且你的用户 shell 是 /bin/bash。