如何获取有关“sudo”失败的详细信息

如何获取有关“sudo”失败的详细信息

当我尝试时,sudo something我得到:“ luke 不在 sudoers 文件中。此事件将被报告。”

所有 sudo 用户都会以同样的方式失败。

我怎样才能获得有关此处到底发生了什么故障的更多详细信息?这曾经工作得很好,但是其他具有 sudo 访问权限的人已经搞砸了(?),现在 sudo 不起作用(尽管我可以 su 到 root 并从那里很好地 sudo 。)

我检查了 /etc/sudoers (内容和权限都与我的默认安装匹配,visudo -c报告一切正常)

我肯定还在 sudo 组中:

$ getent group sudo
sudo:x:27:luke,user2,user3

当我添加

 luke    ALL=(ALL:ALL) ALL

到 /etc/sudoers 它确实让我使用 sudo。但为什么 sudo 组的成员不能使用它呢?

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

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

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

luke    ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

ubuntu 16.04 服务器版。

答案1

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

评论后一行管理员组成员可以获得root权限授予组成员 sudo 访问权限admin,但后面的行允许组成员 sudo...从一开始就删除了该%标志,因此它只授予 sudo 访问权限用户命名sudo,而不是给团体同名。

答案2

最简单的事情就是添加用户luke

visudo

然后

luke   ALL=(ALL:ALL) ALL 

答案3

原因
sudo 损坏可能是由以下任一原因引起的:

  1. sudo不应将用户从或中删除admin group
  2. /etc/sudoers文件已被更改,以防止用户使用命令将sudoadmin group权限提升到 root 的权限sudo
  3. 文件的权限/etc/sudoers未设置为0440


请按照以下步骤修复它。

  1. 打开终端窗口,
  2. root使用命令输入su root
  3. 输入root password
  4. 输入命令apt-get install sudo -y进行安装sudo
  5. sudoers file通过输入adduser username新用户或usermod -aG sudo username现有用户来添加用户。将您的用户名替换为用户名。

    您可以将usermod -aG sudo,adm username其添加到 sudoers 和 admin groupt 中。

  6. sudoers file通过输入设置正确的权限chmod 0440 /etc/sudoers
  7. 输入exit并按 Enter 键,直到关闭终端窗口。
  8. 完全关闭系统并重新启动。
  9. 打开另一个终端窗口。
  10. 尝试任何sudo命令来检查您的用户名是否已正确添加到 sudoers 文件中。例如

    sudo apt-get update

    如果您的用户名已正确添加到 sudoers 列表中,那么您将不会收到错误。

相关内容