2011-11-05 144 views
1

我在我的Mac OS X 10.6.8中修改了(以某種錯誤的方式)etc/sudoers文件。sudo命令後的分段錯誤

因爲這個原因,我擦除了錯誤的行並替換了原始文件。但現在每當我輸入sudo命令的輸出是:

sudo: /etc/sudoers is owned by uid 501, should be 0 
Segmentation fault 

一個解決辦法是this但是當我鍵入su(和密碼)的輸出是:

su: Sorry 

我怎樣才能解決這個問題?

回答

2

我已經按照these steps啓用和使用在Mac OS X

「根」用戶這樣,我可以用貼在我的問題的fix

+0

一旦root用戶啓用。你可以使用su root作爲root用戶而不是sudo作爲root登錄 – Hesky

1

您需要直接登錄爲root或啓動到root控制檯,以更改/etc/sudoers文件的所有權。

+0

如何以root身份登錄? – Baduel

+0

只需輸入:'su' – Macmade

+0

和其他用戶一樣登錄。 (如果你有自動登錄並且沒有手動登錄方法,你必須啓動到一個'root'控制檯。) –

7

爲了記錄,在OS X上有一個更簡單的方法來解決這個問題:運行磁盤工具,選擇邊欄中的卷,然後選擇急救選項卡,然後單擊修復磁盤權限。/etc/sudoers是它知道「正確」權限的系統文件之一,因此它會爲你處理它。

+0

謝謝你的回答。這個工具花了很多時間(在我的情況下是22分鐘),但它發現了很多錯誤,所以+1 =) – Baduel

+0

通常,許可修復發現的問題並不重要;但偶爾它會修復一些令人討厭的東西(像這樣)。附:感謝@Bavarious。 –

0

嘗試sudo -u root vim /etc/sudoers,用最初修改/etc/sudoers時用戶登錄的用戶替換「root」。然後進行所需的更改,保存並退出,然後重試。

我在以root身份登錄時將source ~/.bash_profile添加到我的〜/ .bashrc文件時遇到了此問題。運行sudo -u root vim ~/.bashrc非root用戶並刪除source ~/.bash_profile行解決了我的問題。