问题
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.
回答1:
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.
回答2:
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 :-)
回答3:
@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>
回答4:
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.
回答5:
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 !
来源:https://stackoverflow.com/questions/18607003/sudo-effective-uid-is-not-0-is-sudo-installed-setuid-root