之前因为修改过 /etc/sudoers 文件,有个地方语法错误,导致修改完成之后 sudo 命令无法使用

网上搜过很多解决办法,大都是重启进入单用户模式,以 Root 用户的身份修改 sudoers 文件,解决原本的语法错误。但是这个方法的硬条件是需要重启进入单用户模式,但是有的时候我们是以 ssh 的方式登录到 LInux 机器上去的,所以相应的也会有不需要重启的操作就能解决这种问题,当然这种操作也有一个硬条件 ——Linux 上已经安装了 Pkttyagentpkexec,我并不知道这两个软件是不是所有 Llinux 系统都预装,所以大家都自己拿捏一下。

那么进入正题

首先,我们需要开两个 session 连接到 Linux 机器上

第一步:在以第一个 session 上输入

echo $$

得到你目前 Bash 的 PID。

第二步:在第二个 session 上输入

pkttyagent --process pid #这里的pid是上一步获取到的,直接复制过来就好了

第三步:回到第一个 session 中,输入

pkexec visudo

第四步:回到第二个 session,你会发现 Bash 提示你进行权限认证,输入密码后,再回到第一个 session

第五步:回到第一个 session 后就是我们熟悉的 visudo 界面啦,下面的操作大家心里都有数了

总结一下,没事不要乱改和 sudo 有关的任何东西,会出事,绝逼会出事