2016-05-16 109 views
6

我發現了另一個標題相同的問題,但是,我想我的情況有點不同。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}

更改默認的目錄權限。 現在,因爲我不得不須藤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應該是更好,並且是根源,但我是一個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中的所有文件都有dev。:/ – Swanidhi

+0

您是否可以認真思考並記住您所做的是將'/ usr/bin'中所有文件的所有者從'root'更改爲'dev'? –

回答

0

問題: 須藤:有效uid不爲0,是須藤安裝的setuid根?

注意: --- s - x - x。 1 dev的根123832 2015年8月13日的/ usr /斌/須藤

用戶和組應該是根和須藤文件應具有的setuid

應該是 ---秒 - × - ×。 1個根根123832 2015年8月13日在/ usr /斌/須藤

而且雙

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的shell訪問來解決它ount在WHM。我收到了同樣的錯誤,因爲帳戶有Jailed Shell限制。我將它設置爲正常的shell並且錯誤消失了。