新手上路,手残修改了/usr/bin目录的权限,导致sudo命令不可用,要命的是刚好虚拟机还没设置root账号,无法命令进入root,使用su root命令时会报以下错误:
su:Authentication failure
这个时候我们可以用以下方式激活root:
- 重启虚拟机时长按shift键,进入recovery模式;
- 选择Advanced options for Ubuntu,选择recovery mode;
- 选择root命令行模式
此时已进入root用户系统,在该系统中执行如下命令赋予sudo的执行权限
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
然后重启系统:
reboot
可能有的朋友到这里就解决问题了,但是我使用sudo命令时,又出现了以下错误:
sudo: error in /etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins
用ll查看了一下sudoer.so和sudo的用户权限,发现owner都是非root用户,所以才导致当前用户没有权限执行sudo命令,修改权限后,可解决。
执行下面两个命令修改文件权限:
$ chmod 644 /usr/lib/sudo/sudoers.so
$ chown -R root /usr/lib/sudo
然后麻溜儿的赶紧添加root用户!
仅做笔记记载,欢迎指正