2016-05-16 18 views
6

私は同じ見出しで別の質問を見つけましたが、私のケースは少し異なると思います。CentOSエラー - sudo:有効なuidが0でない、sudoがsetuid rootにインストールされていますか?

新しいプロジェクトをセットアップしようとして、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: effective uid is not 0, is sudo installed setuid root? 

- 私はここにものsudo NPMに持っていたので、 は今、私はsudoを使用しようとするたびに、私はこのエラーを取得する

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

ポストこれを、走りましたnpmはrootよりはるかに優れているはずですが、私はLinuxの初心者です。

ご協力いただければ幸いです。 :)

詳細 -

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

+0

'ls -l $(sudo)'はあなたに何を伝えますか? –

+0

'--- s - x - x。 1 dev root 123832 2015年8月13日/ usr/bin/sudo' 私はbinのすべてのファイルを見ています。:/ – Swanidhi

+0

'/ usr/bin'にあるすべてのファイルの所有者を' root'から 'dev'に変更したことを心から考えてください。 –

答えて

0

問題: 須藤:実効uidが0でない場合、sudoはrootにsetuidをインストールしているのですか?

注目: --- s - x - x。 2015年8月13日の/ usr/binに/ sudoの

ユーザーとグループがrootである必要があり、sudoのファイルがsetuid

を持つ必要がありますが であるべき1つのdevのルート123832 --- S - X - X。 1つのルートルート123832 2015年8月13日の/ usr/binに/ sudoの

ともダブル

5

問題は、おそらくディレクトリ/usr/binへのアクセス権を変更したことです。その解決するには

1)まずルートがこのディレクトリ/usr/binの所有者であることを確認してください:

chown root:root /usr/bin 

2)と、このディレクトリのパーミッションを変更します。

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

私の人生を保存しました –

+5

私はこの問題に直面しています:chown: '/ usr/bin /'の所有権を変更する:操作は許可されていません – rahulthakur319

1

誰かがまだsudoで問題が発生しているなら、私はaccのシェルアクセスを調べて解決できませんでしたWHMでおっとり。アカウントにシェルの制限を当てていたため、同じエラーが発生しました。私はそれを通常のシェルに設定し、エラーはなくなりました。

関連する問題