Ubuntu sudo:must be setuid root,失手改了usr目錄的權限,在機房的血淚恢復全記錄

前言:失手給了用戶賬號 /usr 目錄的權限,結果 sudo 的時候報 sudo:must be setuid root....,裏面東西都部署好了,不想重裝系統啊。遂,跑到機房一番掙扎,成功恢復。在恢復的過程中,發現很多的教程都只說了一部分,照着執行有很多坑。所以,試圖用這篇講解全部過程,並指出需要注意的地方。

一、進入Ubuntu Recovery模式

其實就是在進入系統前,這個頁面上選擇 後面有 recovery mode項,進入恢復模式。

網上其他都說要按 Esc或者Shift,目的在於讓開機過程停在這個頁面,不然這個頁面會一閃而過。

我實際操作 在bios之後,一直按住 Esc鍵。

進入後,會有圖形頁面,選擇 root那一行即可。

之後還要敲一下 Enter鍵。

二、文件系統重新掛載爲 RW ,默認只讀,無法操作

mount -o remount rw /

執行下即可

三、恢復

chown root:root /usr/bin/sudo   #所有者變爲 root
chown -R root /usr

chmod 4755 usr/bin/sudo   #賦權限
chmod  755 /usr/lib/sudo/sesh
chmod  644 /usr/lib/sudo/sudoers.so
chmod  644 /usr/lib/sudo/sudo_noexec.so

reboot  #重啓

四、問題排查方法

如果還不行,無非兩個問題: 所有者不是root,沒有setuid項(執行權限s)

ls -l /usr/bin/sudo

正常結果如下:

注意幾點:

  1. 所有者 root root
  2. 有 s 權限  見  -rwsr
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章