CentOS报错-sudo: effective uid is not 0, sudo是否安装了setuid root?

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

我发现了另一个标题相同的问题,但是,我想我的情况有点不同。

在尝试设置新项目时,我需要安装 nodejs。我意识到它只有在与 sudo 一起使用时才有效。例如。须藤 npm

此外,我访问了 link https://docs.npmjs.com/getting-started/fixing-npm-permissions 并执行了

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

更改默认目录权限。 现在因为我也必须在这里使用 sudo npm,所以我 运行

sudo chown -R $(whoami) $(sudo npm config get prefix)/{lib/node_modules,bin,share}

Post 这个,每当我尝试使用 sudo 时,我都会收到这个错误 -

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

我知道我的 npm 设置应该更好并且脱离 root,但我是 Linux 新手。

如有任何帮助,我们将不胜感激。 :)

更多信息-

ls -l $(which sudo) 给出 => ---s--x--x. 1 dev root 123832 Aug 13 2015 /usr/bin/sudo

问题: sudo: effective uid is not 0, sudo是否安装了setuid root?

注意到: ---s--x--x。 1 开发根 123832 2015 年 8 月 13 日 /usr/bin/sudo

用户和组应该是 root 并且 sudo 文件应该有 setuid

应该是 ---s--x--x。 1 根根 123832 2015 年 8 月 13 日 /usr/bin/sudo

还有双倍

问题是您可能更改了目录 /usr/bin.

的权限

要解决这个问题:

1) 首先确保 root 是此目录的所有者 /usr/bin :

chown root:root /usr/bin

2) 并更改此目录的权限:

chmod u+s /usr/bin/sudo

如果有人仍然遇到 sudo 问题,我无法通过检查 WHM 中帐户的 shell 访问权限来解决它。我收到了同样的错误,因为该帐户有 Jailed Shell 限制。我将其设置为正常 shell 并且错误消失了。