I added the following to the file
root ALL=(ALL:ALL) ALL
myadminuser ALL=(ALL:ALL) ALL NOPASSWD: ALL
Apparently that does not follow the correct syntax so immediately after I was not able to sudo. Below is the error meesage:
[myadminuser@MYSERVER ~]$ sudo -i
>>> /etc/sudoers: syntax error near line 23 <<<
sudo: parse error in /etc/sudoers near line 23
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Since on the Azure VMs you don't have the root password, then you're stuck as the regular user do not have permissions to edit the sudoers file and you can't sudo to root.
You could mount the VM disk to another VM and then edit the file that way, but that is cumbersome.
Fix:
From the Azure portal start Cloud CLI, choose Powershell
Run the following command to make /etc/sudoers editable by master
az vm run-command invoke --resource-group YOUR_RESOURCE_GROUP --name YOURVM --command-id RunShellScript --scripts "chmod 446 /etc/sudoers"
You could mount the VM disk to another VM and then edit the file that way, but that is cumbersome.
Fix:
From the Azure portal start Cloud CLI, choose Powershell
Run the following command to make /etc/sudoers editable by master
az vm run-command invoke --resource-group YOUR_RESOURCE_GROUP --name YOURVM --command-id RunShellScript --scripts "chmod 446 /etc/sudoers"
This gives the regular user permission to edit the file
with nano or VI undo the changes (i just deleted the NOPASSWD: ALL):
login to the server and edit sudoers file
nano /etc/sudoers (no sudo since you have access)
nano /etc/sudoers (no sudo since you have access)
after edit, run the below command to configure default access to file.
az vm run-command invoke --resource-group YOUR_RESOURCE_GROUP --name YOURVM --command-id RunShellScript --scripts "chmod 440 /etc/sudoers"
I got fixed my problem after run above commands
No comments:
Post a Comment