我正在尝试运行以下命令:
$ echo "My username is: `whoami`"
My username is: d
$ sudo chown -R `whoami` /usr/local/lib/node_modules
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Run Code Online (Sandbox Code Playgroud)
我不明白问题是什么,因为 root 是 uid 0:
$ id -u root
0
Run Code Online (Sandbox Code Playgroud)
而 setuid 似乎很好:
$ ls -l /usr/bin/sudo
-rwxr-xr-x 1 4755 root 155008 Feb 10 2014 /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
mur*_*uru 16
Setuid 位未设置。如果是,权限将有一个s而不是第一个x:
$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 155008 Feb 11 2014 /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
尝试使用pkexec正确设置它:
pkexec chmod a=rx,u+ws /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
尽管我怀疑这是您将遇到的唯一问题。