題 在`/`目錄中修復權限災難Ubuntu Linux


我剛剛花了大部分時間設置一個Ubuntu 12.10服務器,我真的非常喜歡它。我做得很愚蠢:

sudo chmod 666 /*

而不是同樣的嫌疑人

sudo chmod 666 ./*

我現在不能在系統上使用任何程序

我還沒有設置root密碼所以現在我真的希望我在CentOS上:'(

沒有重新開始我有什麼辦法嗎?提前致謝!


3
2018-03-09 13:27


起源


僅供將來參考,您永遠不需要使用 ./*,簡單 * 將足夠並且不太容易發生錯誤。 - terdon
擁有root用戶對您的情況沒有幫助。 - Sepero


答案:


您必須從live cd啟動,因為目前無法訪問所有可執行文件(刪除了目錄上的訪問位) /bin,...)。

請做:

  1. 從現場CD啟動
  2. 在下面安裝你的系統 mnt,別忘了添加額外的坐騎 /usr/var,...
  3. cd /mnt/
  4. for d in * ; do if [ -d ${d} ] ; chmod u+rwx,og+rx-w ${d}; fi
  5. chmod og= root lost+found # more restrictive permissions
  6. 重新啟動你的系統並喝一杯啤酒:-)

警告: 這適用於根目錄 / 通常只包含子目錄和符號鏈接。


7
2018-03-09 13:35



非常感謝,我現在正在嘗試。我想這是一個我沒想到的邏輯解決方案! - Cobolt
@Cobolt - 你的歡迎:-)要開心,想想如果你還加入了會發生什麼 -R 切換到 chmod ;-)
像魅力一樣工作!謝謝。我覺得是時候我學習了bash腳本,php / perl並沒有讓我足夠sys管理員。再次感謝! - Cobolt