今天一时冲动,把/etc/sudoers文件改了,而且只是把一个
#
删除了,就无法使用sudo su
命令了,老是提示如下图:
sudo: >>> /etc/sudoers:syntax error 在行 25 附近<<<
sudo: /etc/sudoers 中第 25 行附近有解析错误
sudo: 没有找到有效的 sudoers 资源,退出
sudo: 无法初始化策略插件
然后就各种google,首先查到的是这种方法:(源于网上)
重启进入recovery mode,当光标选中recovery mode时,按
e
进入编辑,将ro
改为rw single
后,[CTRL+X]保存退出到有root界面,然后进入root,更改/etc/sudoers
权限,chmod u+w /etc/sudoers
,然后用vim /etc/sudoers
编辑文件。最后保存退出即可。
可是到了我这里,进行到vim /etc/sudoers
时,发现vim无效,没有安装此程序,用gedit
也无效,当场就JJ了。终于继续在晚上查的时候,发现了pkexec
这个命令,然后进入ubuntu系统,进入我的用户,用pkexec visudo
命令,果真打开了exc/sudoers
文件,然后将文件改过来,按照步骤提示保存下来后,DONE~!
到现在我觉得一开始浪费的那么3个多小时,就是白费力气,不如直接在普通用户模式下用pkexec visudo
命令,就直接进入了root
权限,使用了visudo
命令。下面来解析下这个pkexec
命令:
pkexec [命令]
直接以root
权限执行命令
: 比如pkexec visudo
就可以以root
身份执行visudo
命令。
输入当前用户密码后,就可以以
root
权限执行命令了。下面是官方的对
pkexec
的解释:
allows an authorized user to execute PROGRAM as another user. If username is not specified, then the program will be executed as the administrative super user, root.