我找到了另一个 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 回答
问题是您可能更改了目录
/usr/bin
的权限 .解决这个问题:
1)首先确保 root 是此目录
/usr/bin
的所有者:2)并更改此目录的权限:
如果有人仍然遇到sudo问题,我可以通过检查WHM中帐户的shell访问权来解决它 . 我收到了同样的错误,因为该帐户有Jailed Shell限制 . 我把它设置为普通shell,错误消失了 .
问题: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
并且还加倍