4

Why might sudo chmod -R a+w * cause

sudo: /etc/sudoers is mode 0640, should be 0440 sudo:   
no valid sudoers sources found, quitting

and how might it be made to work?

Jorge Castro
  • 71,754
jacknad
  • 305
  • Possible duplicate http://askubuntu.com/questions/50704/sudo-error-is-mode-0777-should-be-0440?rq=1 –  Sep 17 '12 at 16:23
  • possible duplicate of http://askubuntu.com/questions/50704/sudo-error-is-mode-0777-should-be-0440?rq=1 – Ankit Sep 17 '12 at 16:43

2 Answers2

10

I think your best bet is to start the system in recovery mode (see here for instructions), drop to root shell and do chmod 0440 /etc/sudoers.

EDIT: as Mik suggested below, the following should work as well without rebooting the system:

pkexec chmod 0440 /etc/sudoers
January
  • 35,952
  • 2
    You could also try using pkexec chmod 0440 /etc/sudoers without going into recovery mode. –  Sep 17 '12 at 16:28
  • Thanks a million! BTW: also had to pkexec chmod 0440 /etc/sudoers.d/README. I wonder if I broke anything else in /etc. Meh. – jacknad Sep 17 '12 at 17:16
  • @Mik Thanks a lot. You have saved me so much time. I thought I'd have to re-install Ubuntu. Although can you tell me: Now that most of the system is 0777 permitted, is it dangerous to work on internet? – Aayush Dec 01 '12 at 07:08
  • @Aayush Although we can't really discuss it here, see this answer regarding 777 permissions and refer to other questions on the site for resetting the correct permissions on files and directories. –  Dec 03 '12 at 20:07
2

Why might the command cuase this to happen? I suspect you ran the command while your current directory was /etc!

sudo refuses to work if the permissions of /etc/sudoers have been tamprered with to avoid compromising the system. You will have to fix the permissions using recovery mode unless you have another way of getting root access.

StarNamer
  • 2,847