1. ホーム
  2. linux

[解決済み] CentOS エラー - sudo: effective uid is not 0, is sudo installed setuid root?

2022-03-03 06:52:40

質問

同じ見出しの質問をもう一つ見つけたのですが、私の場合は少し違うようです。

新しいプロジェクトをセットアップしようとすると、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}

を実行して、デフォルトのディレクトリパーミッションを変更します。 ここで、npmもsudoしなければならなかったので、以下を実行しました。

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のための私のセットアップは、より良い、ルートをオフにするべきだったことを理解しているが、私はLinuxの初心者です。

どんなことでもご相談ください :)

その他の情報

ls -l $(which sudo) は、=>を与える。 ---s--x--x. 1 dev root 123832 Aug 13 2015 /usr/bin/sudo

解決方法は?

問題は、おそらくディレクトリのパーミッションを変更したことです。 /usr/bin .

それを解決するために:

1) まず、以下のことを確認してください。 ルート はこのディレクトリの所有者です。 /usr/bin :

chown root:root /usr/bin

2) そして、このディレクトリのパーミッションを変更する :

chmod u+s /usr/bin/sudo