CentOS报错-sudo:有效uid不是0,sudo是否安装了setuid root?

新手上路,请多包涵

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

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

此外,我访问了链接 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}

发布这个,每当我尝试使用 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

原文由 Swanidhi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

问题是您可能更改了目录的权限 /usr/bin

要解决这个问题:

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

 chown root:root /usr/bin

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

 chmod u+s /usr/bin/sudo

原文由 Baruch AMOUSSOU-DJANGBAN 发布,翻译遵循 CC BY-SA 3.0 许可协议

问题:sudo:有效的uid不是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

也加倍

原文由 Murali G 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题