这里其实是两个问题:
1. su: Authentication failure;
2. xxx is not in the sudoers file,This incident will be reported.
第一个问题是无法进入root用户,第二个问题是没有sudo权限。
这里会有一个很有意思的事情,当我们发现自己没有root用户权限的时候,会想到用用sudo passwd root来从新修改一次密码,在下一次进入的时候就可以进入root用户了。但是,当我们同样没有sudo权限的时候,那这种方法就行不通了。
哈哈,这就像个死循环,想要实现功能A,必须要用到功能B,但是想要用到功能B,必须要用到功能A。懵逼。
先来说下为啥会出现这种情况,说白了,是用户组与副组的问题。当我们发现自己无法进入root也无法用sudo的时候,需要反思下自己到底对操作系统做了啥。
如果你用 id 用户名 查看用户信息,你会发现,用户的副组里面没有了sudo组!
所以我们解决这个问题,首先就要把用户加到sudo组里面去。
但是如果要想加组必须要用root用户完成。这又回到问题的起点!难道无解了吗?
答案当让是否定的。
这里就需要用到linux的修复模式,我们可以用修复模式来获取root权限,然后再把用户加到sudo组里面去。
下面我用ubuntu为例操作下,怎么解决这个问题。
1.在启动linu的时候,按下esc或者shift键,进入模式选择,选择Advance options for Ubuntu。
2.进入选择界面后,选择recovery mode。
3. 进入模式后,选择root。
4.根据提示操作,就会进入到临时root用户下了。
5. 我们直接将用户加入到sudo组中就行了。
6.用id 用户 查看下是否已经在sudo组中了。
ok,自己已经在sudo组中了。
然后reboot,重启系统,再来解决无法进入root用户的问题。
就如前面所说,只需要重新对root设置下密码就行了。
到此,大功告成。
版权声明:本文为acdefghb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。