2013-07-03 92 views
6

我根文件夾(/)和命令通過所有子文件夾給一個用戶更改所有者和子文件夾(Ubuntu的13.04)

$ sudo chown -R 'userName' /* 

現在我想設置所有者回到root用戶無意中設定所有者命令

$ chown -R root:root /* 

但我沒有此操作的權限。 如果我使用命令

$ sudo chown -R root:root /* 

返回

sudo: effective uid is not 0, is sudo installed setuid root? 

我應該怎麼做才能解決這個問題?

回答

2

:O我表示吊!!

問題是,sudo二進制本身必須由root擁有。如果你有root的密碼,你可以只得到根本解決該問題:

su 

如果沒有,你可以開機使用救援系統,掛載分區和

chown root:root /mnt/usr/bin/sudo 

或解決問題的全部使用救援系統。

但是很難解決所有的所有權。我建議製作一個腳本,從系統的vanilla安裝中讀取文件所有權(已安裝與您相同的軟件包)並將它們應用於崩潰的系統。 (/ home /中的自定義文件,你必須自己去chown)如果沒有這樣的腳本,它會變得非常困難,但它應該很容易編碼

2

你的系統非常糟糕。下次更加小心使用sudo

  • 現在,使用救援磁盤啓動您的系統,可能是您的安裝磁盤。
  • 將損壞的文件系統安裝到救援系統中。
  • 修復權限/所有者的東西。
  • 使用您的原始系統重新啓動。

根據您改變了多少使用chown,你將不得不解決很多在第3步你可能可能想看看在同一系統的工作正確安裝,以找出哪些用戶應該是像/dev/mem等東西的所有者。

重新安裝操作系統可能會更快。

3

我猜你在運行第一個命令時最終還是修改了可執行文件的所有權。

這是說,有效的UID不是0(因爲root的EUID等於0)

因此,請嘗試更改/usr/bin/sudo的所有者,然後嘗試更改其他文件的所有權。