我犯了一個大錯誤,現在我在我的工作站上什麼也做不了。我嘗試啟動 VirtualBox,但它抱怨 /usr 具有執行存取權限。然後我錯誤地執行了 sudo chmod 666 /usr ,現在我無法再執行「sudo」了。
我問我們的技術部門,他們說 Ubuntu 沒有 root 密碼,所以他們看不到我的錯誤的任何解決方案,但必須重新安裝 Ubuntu,這意味著我將失去所有工作。
我希望你們中的任何人都能想出解決這個問題的方法,因為。您認為我應該怎麼做才能再次獲得 /usr 的存取權限或成為 root 使用者?
答案1
如果您剛剛這樣做,sudo chmod 666 /usr
那麼事情還不錯 - 因為這只會更改父/usr
目錄的權限,而不會更改其中子目錄的任何檔案。
但是,如果您添加了遞歸標誌-R
,那麼您幾乎肯定最好重新安裝系統。即使是這樣,應該沒有理由丟失數據:您可以從即時 USB 或 DVD 啟動並先從那裡備份重要檔案。
如果sudo chmod 666
您只對目錄進行了非遞歸/usr
,並且您可以物理訪問計算機,那麼最簡單的修復應該是
- 透過 grub 進階選單啟動進入復原模式並選擇“Drop to root shell”
以讀寫模式重新掛載檔案系統
mount -o remount,rw /
執行命令
chmod 755 /usr
不添加任何其他命令行選項並不使用任何 shell 通配符。
鍵入
exit
以繼續正常啟動
請注意,chmod
lives in/bin
而不是/usr/bin
so 不應受到 上權限的影響/usr
。如果(例如)您要更改目錄/bin
或目錄/
本身的權限位,那麼此方法將不合適,因為您將無法chomd
從恢復模式執行 - 在這種情況下最好的選擇可能是啟動任何可用Linux 發行版的Live CD/DVD/USB(不需要是Ubuntu);識別並安裝損壞系統的根設備(/mnt
例如,在即時系統中);然後chmod 755 /mnt/usr
從實時系統運行。
答案2
您的命令可能已從 /usr/bin/sudo 中刪除了 SUID 位元 正確的權限應該是:
-rwsr-xr-x 1 root root 136808 Aug 17 15:20 /usr/bin/sudo
您應該獲得一張恢復 CD,如上面的評論中所述,並按照“查找根分區”部分中的步驟進行操作。成功安裝後,使用以下指令設定 SUID 位元: chmod 4755 /usr/bin/sudo