Linux命令-2:强大的pkexec

今天一时冲动,把/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命令。

Linux命令-2:强大的pkexec_第1张图片
pkexe 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.

今日学习:当sudo su命令切换不了root时,不要忘记,还有pkexec命令。

你可能感兴趣的:(Linux命令-2:强大的pkexec)