Linux: 'Username' 不在 sudoers 文件中。此事件将被报告

Linux: 'Username' is not in the sudoers file. This incident will be reported

登录 ssh 后,我收到以下消息:

'Username' is not in the sudoers file. This incident will be reported.

我该如何解决这个问题?我正在将 ssh 连接到我的虚拟专用服务器。

打开文件

su root 
nano /etc/sudoers

然后按照下面的语法在管理员用户下面添加用户。

user_name ALL=(ALL)  ALL

您应该使用 visudo 来编辑 /etc/sudoers 文件。

就运行 sudo visudo -f /etc/sudoers

并添加具有正确语法和访问权限的用户名。 您可以在 man sudoers

中找到更多信息

以上两个答案就目前而言都是正确的,但是在基于 debian 的系统(Ubuntu、kbuntu、debian 等)中将您的用户添加到 sudo 组和 wheel 组中会更容易基于 RedHat 的系统(RedHat、Fedora、CentOS 等)

usermod -a -G sudo user
or
usermod -a -G wheel user 

从我的主机那里得到的语法与 Rodney 的略有不同

usermod -aG wheel username

他们的解释是

The user will need to be added to the wheel group.

Use the usermod command to add the user to the wheel group.

执行此操作后您可能需要注销并重新登录

  1. 已使用命令 $ su root 进入 Root。输入根密码

  2. 安装sudo:$ apt-get install sudo -y

  3. 添加您的 <用户名> $ adduser <username> sudo

  4. $ exit

  5. 然后注册并登录<用户名>会话

  6. 最后,检查:< username>@< hostname>:~$ sudo apt-get update

对于初学者来说,这是一个很常见的错误。 发生错误是因为我们试图 access/update 具有超级权限的用户而不是 root 用户。

因此,要解决这个问题,我们需要更改已授予 root 用户权限的 sudoers 文件。所以,切换到root用户,运行下面的命令

sudo su 
# vi /etc/sudoers

编辑器会打开文件,现在向下滚动到底部,您会看到一行

#User privilege specification

root     ALL=(ALL:ALL) ALL

username ALL=(ALL:ALL) ALL

如您所见,我刚刚添加了具有所有权限的用户名。

保存文件,然后退出。切换回用户并开始轻松使用 sudo 命令。

在上述 /etc/sudoers 文件的顶部有一个信息:

"## This file MUST be edited with the 'visudo' command as root."

按照我们被告知的顺序,使用:

$ su
> Enter root password: *******
$ visudo -f /etc/sudoers

找到 /etc/sudoers 文件的以下部分并添加您的用户权限:

# User privilege specification
root    ALL=(ALL:ALL) ALL
user_name ALL=(ALL) ALL

保存文件(按 esc 并键入 :x 如果 vim 是您的默认文本编辑器,对于 nano 按 ctrl+ o, enter 然后 ctrl+x).

输入exit关闭rootshell,用你的username

享受sudo的力量

将您的用户添加到 sudoers 列表中。这将使它更容易执行 作为您创建的用户执行命令需要管理员权限。

sudo 添加用户用户名 sudo

(注意:- 用户名是您要授予权限的用户)

如果您在系统上找不到 visudo

whereis visudo

启动此工具

./PATH/visudo

下添加这一行

User privilege specification

user_name ALL=(ALL)  ALL

保存更改并开始!

首先,切换/登录到root用户帐户或具有sudo权限的帐户。

接下来将用户添加到 sudo 用户组:

  • 如果你在 Ubuntu sudo 组的成员被授予 sudo 权限,所以你可以使用这个:

    sudo adduser username sudo
    
  • 如果你在 CentOS wheel 组的成员被授予 sudo 权限,所以你可以使用这个::

    usermod -aG wheel username
    

注意:将用户名替换为您想要的username

要测试 sudo 访问权限,请登录您刚刚添加到 sudo 用户组的帐户,然后使用 sudo:

运行 下面的命令
sudo whoami

系统将提示您输入密码。如果用户有 sudo 访问权限,输出将是:

root

如果你得到一个错误说 user is not in the sudoers file,这意味着用户还没有 sudo 权限。

就这些了。

希望对您有所帮助

try this video,对我有用。

  1. ssh root@localhost
  2. sudo vi /etc/sudoers
  3. 在文件中插入用户名 'sudoers'
  4. 保存并退出 ssh