这是适用于笔记本电脑(Dell inspiron 3135)上的 Ubuntu 15.04。
不知何故,使用功能sudo
丢失了,可能与此有关,我无法再在锁定屏幕上登录。重启后登录没有问题。但如果软件更新需要 root 权限,我就无法再进行更新;当我尝试使用我的用户密码进行身份验证时,对话框窗口会“摇头”,请求被拒绝。所以我不得不取消软件更新。
以下是我迄今为止尝试过的:
由于我显然无法使用sudo
它,所以我在恢复模式下启动了系统并使用了<drop to root shell>
菜单项。然后我收到一个提示
root>
然后我/
使用
mount -o rw,remount /
然后先尝试一下(假设我的登录名是 wuzzle)
usermod -a -G sudo wuzzle
然后重启,登录后发现仍然无法使用sudo
接下来我按照上述同样的步骤尝试
adduser wuzzle sudo
与前一个命令一样,该命令也被接受,但无响应。
但是,重启并登录后仍然无法登录sudo
。例如:
ls -l /etc/sudoers
表明它拥有这种所有权
-r--r------1 root root
此外,尝试
cd /etc/; more sudoers
给出
sudoers permission denied
和
$ sudo more sudoers
[sudo]password for wuzzle: (password entered)
Sorry, try again.
此外,文件的日期/etc/sudoers
表明它没有改变,即使我之前使用了我期望应该更改文件的命令(以 root 身份)。
现在我没主意了。我试图通过搜索和浏览来找到解决方案,但似乎所有关于类似问题的文章总是建议使用需要的命令sudo
。所以这都是第 22 条军规。
后来又补充道:
我也尝试再次使用相同的命令(从恢复模式下的 root shell):
> adduser wuzzle sudo
The user wuzzle is already a member of `sudo`.
但事实并非如此。
答案1
从您的描述来看,账户密码本身不正确(对话框“摇头”)。如果是这种情况,使用救援提示重置密码应该可以解决问题。
答案2
按照你的评论,原因是您的系统设置的键盘布局与您预期的键盘布局不同。我也遇到过这个问题。切换布局的键盘快捷键在锁定屏幕上应该可以正常工作。
我写这个答案主要是为了纠正你问题中的一些误解。
Max Lemieux 的回答指出这里的问题是您输入了错误的密码(当然不是因为您犯了错误,而是因为您在错误的布局上输入并且无法知道这一点,因为输入密码时没有显示任何内容)并且从您显示的错误中可以清楚地看出:
$ sudo more sudoers
[sudo]password for wuzzle: (password entered)
Sorry, try again.
这个错误只是意味着输入了错误的密码。
你在问题中表明了你通过将自己添加到群组来解决这个问题的反复努力sudo
。你甚至指责 Bash 对你撒谎,因为它说你是已经在sudo
组中(!) 您用来将自己添加到组中的命令sudo
是正确的,并且您注意到它们没有返回任何错误。如果您有不是如果您属于 sudo 组,则当您尝试使用时会发生以下情况sudo
:
$ sudo uname -r
[sudo] password for unicorn:
unicorn is not in the sudoers file. This incident will be reported.
您可以在命令行上检查您所在的组,而不需要sudo
使用例如以下命令:
$ groups
zanna adm cdrom sudo dip plugdev lpadmin sambashare
$ id
uid=1000(zanna) gid=1000(zanna) groups=1000(zanna),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),130(sambashare)
你也说过这个
但是,重启并登录后我仍然无法使用 sudo。例如:
ls -l /etc/sudoers
表明它拥有这种所有权
-r--r------1 root root
这正是它应该的样子,如果这些所有权和权限发生变化,sudo
它将非常顽固地拒绝工作,直到它们被修复(当然,您需要以某种方式获得 root shell 来修复它,因为您将无法使用sudo
)。您永远不应该更改 sudoers 文件的权限。
此外,文件的日期
/etc/sudoers
表明它没有改变,即使我之前使用了我期望应该更改文件的命令(以 root 身份)。
将用户添加到sudo
组不会更改 sudoers 文件。如果你检查该文件,你会看到将用户添加到组后,他们如何sudo
获得以下访问权限sudo
:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
因此,不需要为每位用户写一行 - 一行加上组成员身份即可为您提供所需的所有权限。据我所知,sudoers 文件从未自动编辑过。
如果你曾经做需要编辑/etc/sudoers
,请务必使用,sudo visudo
如果引入了语法错误,它将不会允许您保存文件。