首页 文章

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

提问于
浏览
6

我找到了另一个 Headers 相同的问题,但是,我想我的情况有点不同 .

在尝试设置新项目时,我需要安装nodejs . 我意识到它只在与sudo一起使用时才有用 . 例如 . 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新手 .

任何帮助,将不胜感激 . :)

More information -

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

3 回答

  • 6

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

    解决这个问题:

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

    chown root:root /usr/bin
    

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

    chmod u+s /usr/bin/sudo
    
  • 0

    如果有人仍然遇到sudo问题,我可以通过检查WHM中帐户的shell访问权来解决它 . 我收到了同样的错误,因为该帐户有Jailed Shell限制 . 我把它设置为普通shell,错误消失了 .

  • 4

    问题:sudo:有效的uid不是0,sudo是否安装了setuid root?

    注意:--- s - x - x . 1 dev root 123832 Aug 13 2015 / usr / bin / sudo

    用户和组应该是root,sudo文件应该是setuid

    应该是--- s - x - x . 1 root root 123832 Aug 13 2015 / usr / bin / sudo

    并且还加倍

相关问题