Recently I have faced issue where I mistakenly edit the file under
/etc/sudoers.d/. When ever I am trying to sudo; I am getting following error:
fakrul@fakrul-server01:~/.config$ sudo su
>>> /etc/sudoers.d/fakrul_sudo: syntax error near line 1 <<<
sudo: parse error in /etc/sudoers.d/fakrul_sudo near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialise policy plugin
Unfortunately I don’t have any other sudo user. I have googled and got a solution.
1. Open two ssh sessions to the target server.
2. In the first session, get the PID of bash by running:
fakrul@fakrul-server01:~/.config$ echo $$
3. In the second session, start the authentication agent with:
pkttyagent --process (pid from step 2)
4. Back in the first session, run:
fakrul@fakrul-server01:~/.config$ pkexec rm /etc/sudoers.d/fakrul_sudo
5. In the second session, you will get the password prompt. “fakrul_sudo” file will be removed in the first session. In same way you can add new file.