我的一位同事錯誤地刪除了 etc/passwd 和 etc/shadow 檔案。
問題是現在系統沒有任何帳戶。
如何建立 root 帳號?
答案1
如果您有實體存取權限,那麼您可以使用核心行 rw init=/bin/bash 重新啟動。這將為您提供 root 存取權以重新建立使用者帳戶。
答案2
答案3
如果您沒有打開現有的 rootshell,那麼我懷疑您可以在沒有 BIOS 或引導程式存取權限的情況下修復此問題。
那時你有兩個選擇。
- 啟動 livecd。
- 使用 init=/bin/sh 從已安裝的系統引導,然後手動啟動網路。
哪個比較容易取決於具體情況。
如果您確實打開了現有的 root shell,您應該能夠使用它。
現在您已經有了創建文件的方法,下一個問題是要在其中放入什麼內容。 Debian 有多種使用者類別(Debian 政策 9.2.2)。
- 對於給定的 Debian 版本,具有始終存在的固定 ID 的系統使用者(UID 0-99 和 65534)
- 具有動態分配 ID 的系統使用者(UID 100-999)
- 一般使用者(UID 1000-59999,使用者數量驚人的系統也可能使用 65536-4294967293)
- 具有固定ID但僅按需建立的系統使用者(UID 60000-64999)。
第一步應該是恢復第一類使用者。最簡單的方法是從運行相同版本 Debian 的另一個系統複製密碼和影子條目。
如果您也銷毀了群組文件,則適用相同的 ID 範圍。
一旦恢復了基礎知識,您就可以開始重新建立其他使用者。對於普通用戶,查看 /home 應該可以為您提供有關哪個用戶使用哪個 UID 的線索。對於系統使用者來說,可能需要付出更多的努力才能弄清楚,可能需要搜尋所有者身份不明的文件,然後查看安裝了相同軟體的另一個系統,以找出哪些使用者應該擁有這些文件。