如果 /usr/bin/* 的擁有者變成非 root 該怎麼辦?

如果 /usr/bin/* 的擁有者變成非 root 該怎麼辦?

說我搞砸了才對!

不小心,我將 /usr/bin 中所有檔案的所有者從“root”更改為“dev”。現在,sudo 不起作用了!如果我將 sudo 與任何命令一起使用,我會得到 -

sudo: effective uid is not 0, is sudo installed setuid root?

我無法使用chown命令將所有者更改回“root”。這是一個重大挫折!

由於這是虛擬機,我無法存取故障復原控制台。事實上,即使該reboot命令也需要使用者俱有「root」存取權限。

專家們,請幫我控製作業系統而無需重新映像。

謝謝!

PS-可能是複製但重新發布他的解決方案是重新開始。

更多資訊 -

su - root總是說密碼錯誤。不幸的是,其所有者su也是“dev”。

我可以使用 GUI 建立一個新使用者。它接受了 root 密碼。如何在不使用 visudo 的情況下授予新使用者 root 存取權。

答案1

物理安全就是安全。您有三個選擇:

  1. 從控制台或透過 ssh 以 root 身分登入。
  2. 以單一使用者模式啟動,傳統上不需要 root 密碼(但可能在您的系統上)。
  3. 從另一個作業系統掛載磁碟映像。

其中任何一個都使您能夠更改磁碟上任何檔案的所有權。如果您不可以選擇其中任何一個,那麼您就不走運,但您也無法控制:其他事情(不是錯誤)可能會發生,需要控制台存取。

答案2

如果不啟動虛擬機器並模仿您的情況,我無法確定什麼,但我可能會做的是,如果您可以有一個檔案作為虛擬機器的外部介質,則啟動 Live CD/USB 發行版( Knoppix,或默認的archiso,或Gentoo 安裝CD,或Porteus),然後執行一些操作,例如使用損壞的/usr/bin 掛載檔案系統(也許使用cd /; mkdir /backup; cp /mnt/centos/usr/bin /backup,複製您要保存的二進位檔案以及chown -hR 0 /backup; chmod 755它們或您選擇的任何檔案) / usr/bin 的權限是,然後刪除/usr/bin僅有的損壞的東西(如果要修復的檔案系統安裝在/mnt/centos,則用於最後一條指令的命令將是rm -r /mnt/centos/usr/bin),那麼「And」行中的某些內容cp /backup /mnt/centos/usr/bin可能會起作用。不過,暫時不要這樣做,因為我還沒有啟動虛擬機器來測試這一點。如果你不能使文件充當外部可啟動介質,那麼我認為您需要在備份要保存的所有文件後重新安裝。我希望這個答案對你有好處。

相關內容