我的客戶端系統上有 Ubuntu 12.10。我有一個錯誤/etc/sudoers is owned by uid 1000 should be 0
。我嘗試從 Ubuntu Live CD 啟動並嘗試:
sudo chown root:root /etc/sudoers
sudo chmod 440 /etc/sudoers
和
sudo chown 0.0 /etc/
但它不起作用。一直報錯:
sudo : /etc/sudoers is owned by uid 1000 should be 0.
我該如何解決這個問題?
答案1
您應該已經是 live CD 的 root 權限並且可以省略該sudo
部分。運行chown root:root /etc/sudoers
修復。或啟動復原以取得 root shell。
答案2
我猜你是chown
在實時系統上複製的。您需要在已安裝的系統上執行此操作,路徑可能是.至少如果您使用 GUI 來安裝驅動器。/media/something/etc/sudoers
或者,您可以將系統引導到救援模式(應該是 GRUB 提示符下的一個選項),這有望為您提供 root shell,此時您可以執行chown root:root /etc/sudoers
.
答案3
如果這個問題不是運行 Live CD 的一個微妙問題,正如其他答案已經討論過的那樣,那麼您的 root 帳戶可能有問題。
檢查 /etc/passwd 中的 root 條目。第三個和第四個欄位(用冒號分隔)都應該為 0;像這樣的東西:
root:x:0:0:root:/root:/bin/bash
如果 root 以某種方式獲得了 UID 1000,那麼為什麼將所有權設為 1000 就有意義了chown root:root /etc/sudoers
。
答案4
首先執行以下命令
$ su -root
它會要求輸入密碼,然後一一執行以下命令
chown root:root /etc/sudoers
chmod 440 /etc/sudoers
chown -R root:root /etc/sudoers.d
chmod 755 /etc/sudoers.d
chmod 440 /etc/sudoers.d/*