突然我不能再使用 sudo 了

突然我不能再使用 sudo 了

这发生在最新的 Ubuntu 20.04 系统上。

从今天起,我无法sudo再在笔记本电脑上使用。我使用的是安装 Ubuntu 后创建的标准用户帐户。我不记得我是否编辑过/etc/sudoers以添加我的用户帐户以便能够使用sudo,或者我是否使自己成为该sudo组的成员。今天我不是该sudo组的成员。事实上,我只是我自己的私人组的成员,该组与我的用户名和相对应lpadmin

自从我上次使用以来,也/etc/group没有改变:/etc/sudoerssudo

$ ls -l /etc/group
-rw-r--r-- 1 root root 1375 févr. 24 09:31 /etc/group

$ ls -l /etc/sudoers
-r--r----- 1 root root 755 févr.  3  2020 /etc/sudoers

还有其他方法可以配置sudo我可能使用过的但现在已经撤消的访问权限吗?

sudo经常使用它来使我的系统保持最新状态。最后一次是在三天前(我签入了/var/log/auth.log)。

例如:sudo成功

Mar  5 16:25:55 MYMACHINE sudo: MYUSERNAME : TTY=pts/0 ; PWD=/home/MYUSERNAME ; USER=root ; COMMAND=/usr/bin/umount XXXXXXXXXXXX
Mar  5 16:25:55 MYMACHINE sudo: pam_unix(sudo:session): session opened for user root by MYUSERNAME(uid=0)
Mar  5 16:25:55 MYMACHINE sudo: pam_unix(sudo:session): session closed for user root

今天sudo失败了

Mar  8 17:16:12 MYMACHINE sudo: pam_unix(sudo:auth): Couldn't open /etc/securetty: No such file or directory
Mar  8 17:16:12 MYMACHINE sudo: MYUSERNAME : user NOT in sudoers ; TTY=pts/16 ; PWD=/XXXX ; USER=root ; COMMAND=/usr/bin/mount XXXX
Mar  8 17:16:12 MYMACHINE sudo: pam_unix(sudo:auth): Couldn't open /etc/securetty: No such file or directory
Mar  8 17:16:28 MYMACHINE sudo: pam_unix(sudo:auth): conversation failed
Mar  8 17:16:28 MYMACHINE sudo: pam_unix(sudo:auth): auth could not identify password for [MYUSERNAME]

由于我执行的所有命令sudo都已记录,因此我可以验证我没有输入会导致我被锁定在机器之外的愚蠢命令。

我最后成功的操作之一sudo是更新我的系统。当时更新的软件包是:

update-manager-core:amd64 (1:20.04.10.5, 1:20.04.10.6), dkms:amd64 (2.8.1-5ubuntu1, 2.8.1-5ubuntu2), nvidia-prime:amd64 (0.8.15.3~0.20.04.1, 0.8.16~0.20.04.1), libxnvctrl0:amd64 (440.82-0ubuntu0.20.04.1, 460.39-0ubuntu0.20.04.1), python3-update-manager:amd64 (1:20.04.10.5, 1:20.04.10.6), nvidia-settings:amd64 (440.82-0ubuntu0.20.04.1, 460.39-0ubuntu0.20.04.1)

我的问题是:这怎么可能发生??这个问题很容易解决。我的管理员帐户仍然存在,并且有sudo。但我想从中吸取教训。显然,我的系统可能被黑客入侵了,但我更愿意相信这是我在某个方面犯的用户错误……

答案1

经过进一步的挖掘,我解决了这个问题 - 正如我希望的那样,这是用户错误。由于/etc/group在 2 月 24 日进行了更改,我回顾了我的auth.log文件并发现了以下内容:

Feb 24 09:31:45 MYMACHINE sudo: MYUSERNAME : TTY=pts/17 ; PWD=/home/XXX ; USER=root ; COMMAND=/usr/sbin/usermod -G lpadmin MYUSERNAME

-a注意命令行中缺失的内容usermod。我无意中将自己从除lpadmin我的主要组之外的所有组中移除。

直到现在我才注意到任何事情,因为直到这个周末我才重新启动我的电脑(总是暂停和恢复)。当我搜索sudo之前输入的愚蠢命令时,我没有回溯那么久。我确实搜索了usermod命令,~/.bash_history但没有成功。该命令一定是在终端窗口中输入的,而该终端的历史记录已被后来关闭的另一个终端覆盖。

相关内容