如何将自己添加到 sudoers 列表?

如何将自己添加到 sudoers 列表?

我已使用以下命令将自己添加到 sudoers 用户列表中

root@debian:/home/oshirowanen#adduser oshirowanen sudo

如果我尝试再次运行该命令,

root@debian:/home/oshirowanen# adduser oshirowanen sudo
The user `oshirowanen' is already a member of `sudo'.
root@debian:/home/oshirowanen# 

到目前为止一切看起来都很好。

然后,当我退出 root 用户并尝试使用我自己的帐户安装/删除/搜索某些内容时,它不起作用并抱怨我不是 sudoer...例如

root@debian:/home/oshirowanen# exit
exit
oshirowanen@debian:~$ sudo aptitude search ice
[sudo] password for oshirowanen: 
oshirowanen is not in the sudoers file.  This incident will be reported.
oshirowanen@debian:~$ 

为什么会发生这种情况?


这就是我从中得到的visudo

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

# 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

答案1

你需要将自己添加到群组后重新登录以获得正确的权限。

使用两个 shell 进行验证:

alice $ sudo adduser test
                                alice $ su - test
alice $ sudo adduser test sudo
                                test $ sudo ls
                                test is not in the sudoers file.  [...]
                                test $ exit
                                alice $ su - test
                                test $ sudo ls
                                examples.desktop

澄清一下,任何被打开的外壳添加到组的用户sudo没有新的权限。

答案2

这里有两个不同的事情在起作用:

  1. sudo 用户组。
  2. /etc/sudoers 文件。

在某些发行版中,sudoers 组在 sudoers 文件中配置为通过 sudo 运行所有内容。
要添加组,您可以通过以 root 身份运行以下命令来编辑文件:

visudo

并添加以下内容(或取消注释):

%sudo ALL=(ALL) ALL

% 符号表示它是一个组名,第一个“ALL”是它可以运行的主机,第二个是它可以模拟的用户,最后一个“ALL 是它可以通过 sudo 运行的命令。

此外,您可能需要重新登录才能使新的组成员身份生效。
要检查活动组成员资格,请运行:

id

相关内容