![Debian 9 用户在 sudo 组中但仍然无法发出 sudo 命令](https://linux22.com/image/125990/Debian%209%20%E7%94%A8%E6%88%B7%E5%9C%A8%20sudo%20%E7%BB%84%E4%B8%AD%E4%BD%86%E4%BB%8D%E7%84%B6%E6%97%A0%E6%B3%95%E5%8F%91%E5%87%BA%20sudo%20%E5%91%BD%E4%BB%A4.png)
用户在sudo
组中
/etc/sudoers
文件确实有一个条目
%sudo ALL=(ALL:ALL) ALL
但他们仍然收到这样的信息:
用户不在 sudoers 文件中。此事件将被报告。
答案1
如果您刚刚将用户添加到 sudo 组,则需要重新登录操作系统。因此,您可以注销然后重新登录。或者您可以使用另一个 tty 来执行 sudo 任务而无需登录。(尝试Ctrl+ Alt+ F1...F8。)
如果您只是猜测用户在组中,而实际上不在组中,则需要运行以下两个命令:
su root
现在以 root 身份:
adduser user_name sudo
现在重新登录或登录到另一个 tty。
答案2
sudo -l
应该向您显示您可以执行和不可以执行的命令。您可以添加另一个-l
更长的输出,并使用以下命令指定用户-U
:
$ sudo -ll -U myuser
Matching Defaults entries for myuser on myserver:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User myuser may run the following commands on myserver:
Sudoers entry:
RunAsUsers: ALL
RunAsGroups: ALL
Commands:
ALL