SUDO-sudoers_audit插件错误

SUDO-sudoers_audit插件错误

我在使用 sudo 时遇到了一个问题。当我在普通账户中运行 sudo 时,我得到:

sudo: PERM_ROOT: setresuid(0, -1, -1): Permission denied
sudo: error initializing audit plugin sudoers_audit

但是我注释掉了 /etc/sudo.conf 中写的那一行Plugin audit。这是我的 /etc/sudoers:

#
# 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"

# Host alias specification

# User alias specification

# Cmnd alias specification

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

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

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

@includedir /etc/sudoers.d
root ALL=(ALL:ALL) NOPASSWD:ALL
running ALL=(ALL:ALL) NOPASSWD:ALL

请注意,sudo 在 root 帐户下可以正常工作,但仅在普通帐户下会失败(普通帐户在running这里。)

我该如何解决这个问题?

答案1

sudo: PERM_ROOT: setresuid(0, -1, -1): Permission denied当进程/用户缺乏能力时,就会发生 错误CAP_SETUID。手册页setresuid(2)关联) 提到这是必需的。

缺乏此功能可能源于多种原因,例如受限的 cgroup 或 systemd 单元。如果没有有关您的用户帐户/执行上下文的更多信息,则无法在此处给出具体答案。

你可以尝试通过检查你自己的一个进程来追踪你当前的功能grep Cap /proc/<pid>/status。这应该会显示你所有启用的功能。

对于 systemd 单元,CapabilityBoundingSet和相关选项负责处理功能。在这种情况下,您应该查看单元文件和/或相关进程。

某些功能也可以与用户绑定,如上所述在这个问题中

PS:这个答案很可能太晚了。不过,我最近遇到了这个问题,想与下一个遇到这个问题的人分享解决方案。

相关内容