Question

I am trying to create deb package from LXC rootfs, and after creating it I want to install that package any computer. Up to this point I achieved packaging and installing deb package, however after installation of LXC package, I cannot be superuser in that lxc. I get this error when I use "sudo" command.

sudo: effective uid is not 0, is sudo installed setuid root?

thanks in advance.

Was it helpful?

Solution

I just had this same exact problem on Mac OS after strangely deciding to screw my own system by doing: sudo chmod -R /usr/bin. If that's someone else's case just open Disk Utility, select your OS disk ("Macintosh HD" in my case), go to First Aid tab then hit Repair Disk Permissions, wait a few and things should get fixed.

OTHER TIPS

Your sudo binary doesn't have the setuid flag, as it correctly guessed. As root, try:

chmod u+s /usr/bin/sudo

OSX users:

To everyone landing here from search engines: this is not the way to fix the OSX system that you broke. The question is Linux oriented - hint, lxc tag - and that is what this answer is for. The answer provided by Gustavo Matias might help :-)

@cnicutar has provided the answer

On a Ubuntu 14.04 host, the following worked

    Exit the container
    Stop the container

Now that you are on the host, set the flag

sudo chmod u+s /var/lib/lxc/<container_name>/rootfs/usr/bin/sudo

Check the flag

sudo ls -l /var/lib/lxc/<container_name>/rootfs/usr/bin/sudo
-rwsr-xr-x 1 root root ... ... var/lib/lxc/<container_name>/rootfs/usr/bin/sudo

Start your container and enter the console You should be able to execute

sudo apt-get install <package>

This error can also be caused by the use of jailed ssh shell for the user. Try un-restricting the shell session if this is the case.

I had this proplem today,and I solved this by run following command with root

chmod u+s /usr/bin/sudo

I hope it will help you !

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top