gliwaru
By:
gliwaru

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

August 1, 2014 34.5k views

It seems my droplet has this error

"sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set"

And can't access it via Putty also. I think my permissions rights is corrupted
Is there a way I can fix this? Thanks

I sudo chown to give another user to access all folders in system

1 comment
  • Switch to ubuntu recovery mode.

    mount -o remount,rw /
    mount --all
    chown root:root /usr/bin/sudo
    chmod 4755 /usr/bin/sudo
    restart
    
6 Answers

That's in fact a pretty serious error. What was the actually command you ran? Did you recursively change the permissions on all files? If you have root login enabled, you can potentially recover sudo Login via the console in the DigitalOcean control panel and run:

chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo

You may still continue to run into problems with permissions on other files as well. For instance, you most likely can't access the droplet via Putty due to the permissions on you SSH files being incorrect incorrect. If you have a recent backup, your best option is to restore from it.

What I ran is chown command that gives my another user an all access to root folder. yeah i think i need to reinstall the OS

I too ran into the same issue..and thanks to this blog post I solved it :)

Here's how to do it, I hope somebody will find this useful..

In ubuntu recovery mode, enter the following commands...

mount -o remount,rw /

mount --all

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

restart

That's it..it worked for me...

Source Here

pkexec chmod 4755 /usr/bin/sudo
pkexec 4755 /usr/bin/sudo

this helped here

how do I switch to ubuntu recovery mode via putty?

Have another answer? Share your knowledge.