在5分鐘內(nèi)重置丟失的root密碼
如何快速簡單地在 Fedora 、 CentOS 及類似的 Linux 發(fā)行版上重置 root 密碼。
系統(tǒng)管理員可以輕松地為忘記密碼的用戶重置密碼。但是如果系統(tǒng)管理員忘記 root 密碼或他從公司離職了,會發(fā)生什么情況?本指南將向你介紹如何在不到 5 分鐘的時間內(nèi)在 Red Hat 兼容系統(tǒng)(包括 Fedora 和 CentOS)上重置丟失或忘記的 root 密碼。
請注意,如果整個系統(tǒng)硬盤已用 LUKS 加密,則需要在出現(xiàn)提示時提供 LUKS 密碼。此外,此過程適用于運行 systemd 的系統(tǒng),該系統(tǒng)自 Fedora 15、CentOS 7.14.04 和 Red Hat Enterprise Linux 7.0 以來一直是缺省的初始系統(tǒng)。
首先你需要中斷啟動的過程,因此你需要啟動或者如果已經(jīng)啟動就重啟它。***步可能有點棘手因為 GRUB 菜單會在屏幕上快速地閃爍過去。你可能需要嘗試幾次,直到你能夠做到這一點。
當你看到這個屏幕時,按下鍵盤上的 e
鍵:
如果你正確地做了這點,你應(yīng)該看到一個類似于這個的屏幕:
使用箭頭鍵移動到 Linux16
這行:
使用你的 del
鍵或你的 backspace
鍵,刪除 rhgb quiet
并替換為以下內(nèi)容:
rd.break enforcing=0
設(shè)置 enforcing=0
可以避免執(zhí)行完整的系統(tǒng) SELinux 重標記。一旦系統(tǒng)重新啟動,你只需要為 /etc/shadow
恢復正確的 SELinux 上下文。我會告訴你如何做到這一點。
按下 Ctrl-x
啟動。
系統(tǒng)現(xiàn)在將處于緊急模式。
以讀寫權(quán)限重新掛載硬盤驅(qū)動器:
# mount –o remount,rw /sysroot
運行 chroot
來訪問系統(tǒng):
# chroot /sysroot
你現(xiàn)在可以更改 root 密碼:
# passwd
出現(xiàn)提示時,輸入新的 root 密碼兩次。如果成功,你應(yīng)該看到一條消息顯示 “all authentication tokens updated successfully”。
輸入 exit
兩次以重新啟動系統(tǒng)。
以 root 身份登錄并恢復 /etc/shadow
的 SELinux 標簽。
# restorecon -v /etc/shadow
將 SELinux 回到 enforce 模式:
# setenforce 1