所以我做了一个sudo apt-get upgrade
并回答了Y
它问我的问题,现在我不再是 sudoer 了。甚至我们的 root 也不再是 sudoer 了。解决方案是什么?
Configuration file '/etc/sudoers'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** sudoers (Y/I/N/O/D/Z) [default=N] ? Y
Installing new version of config file /etc/sudoers ...
Setting up apt-transport-https (1.0.1ubuntu2.15) ...
Setting up libisc95 (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up libdns100 (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up libisccc90 (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up libisccfg90 (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up libbind9-90 (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up liblwres90 (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up bind9-host (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up dnsutils (1:9.9.5.dfsg-3ubuntu0.10) ...
Setting up dbus (1.6.18-0ubuntu4.4) ...
Installing new version of config file /etc/dbus-1/system.conf ...
Setting up python3-update-manager (1:0.196.22) ...
Setting up update-manager-core (1:0.196.22) ...
Setting up bazel (0.4.0) ...
Setting up cuda-repo-ubuntu1404 (8.0.44-1) ...
OK
Setting up dbus-x11 (1.6.18-0ubuntu4.4) ...
Setting up dkms (2.2.0.3-1.1ubuntu5.14.04.9) ...
Setting up firefox (49.0.2+build2-0ubuntu0.14.04.1) ...
Please restart all running instances of firefox, or you will experience problems.
Setting up libxnvctrl0 (361.93.02-0ubuntu1) ...
Setting up linux-generic-lts-saucy (3.13.0.100.108) ...
Setting up linux-headers-generic-lts-saucy (3.13.0.100.108) ...
Setting up linux-image-generic-lts-saucy (3.13.0.100.108) ...
Setting up linux-libc-dev:amd64 (3.13.0-100.147) ...
Setting up linux-tools-common (3.13.0-100.147) ...
Setting up python-pil (2.3.0-1ubuntu3.3) ...
Setting up python-imaging (2.3.0-1ubuntu3.3) ...
Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
mona@pascal:~/computer_vision/deep_learning/ssd/caffe$ sudo apt-get install build-essential cmake git pkg-config
mona is not in the sudoers file. This incident will be reported.
mona@pascal:~$ pwd
/home/mona
mona@pascal:~$ su -
Password:
su: Authentication failure
mona@pascal:~$ sudo passwd root
[sudo] password for mona:
mona is not in the sudoers file. This incident will be reported.
更新:在 grub 中,我选择了高级选项,然后选择恢复模式 -> root,并使用 passwd mona 更改密码并设置密码,但重启后它仍然不允许我使用 sudo!请提出解决方案。
mona@pascal:~$ su -
Password:
su: Authentication failure
答案1
sudo
在 Ubuntu 中授予帐户权限的通常方式是将其添加到admin
和/或组,默认情况下sudo
授予这些帐户权限。sudo
如果你确实想修改 sudoers 配置,你不应该直接编辑,而是按照 中所述在/etc/sudoers
目录中的单独文件中添加本地配置。这是为了避免你刚刚遇到的问题:因为你的更改不会出现在 中,所以你可以安全地将其升级到较新的版本而不会丢失你的配置。/etc/sudoers.d
man sudoers
/etc/sudoers
如果修改系统文件sudo
不起作用,你可以通过恢复模式。然后,例如,您可以mona
使用sudo
usermod -aG sudo mona
答案2
哎呀,您的“Y”接受了 sudoers 文件的新版本,但显然其中没有您的信息!将来,使用“D”来比较它们会是更好的选择,尽管目前还不清楚这是否应该首先发生:在安装软件时替换您的 sudoers 文件并不专业。此时,您需要以 root 身份登录(而不是使用 sudo 登录),并将您自己(“mona”)重新添加到文件的用户部分。
答案3
您可以使用如下命令:
sudo gpasswd -a username sudo
代替username
,输入要添加到组中的用户名sudo
。如果您运行sudo gpasswd -a mono sudo
,它会sudo
向用户授予权限mono
,并且由于该-a
选项,实际上会将该用户添加到sudo
组中。