Rhel
修改 pam 模組後失去 sudo 的能力
在我們的一台 RHEL6 伺服器上,我對 /etc/pam/d/system-auth 和 password-auth 進行了更改,然後在重新啟動後失去了 sudo 和 su 的能力。具體來說,我改變了這一行:
auth sufficient pam_unix.so try_first_pass
對此:
auth optional pam_unix.so try_first_pass
我仍然可以通過 ssh 連接到伺服器並使用標準使用者帳戶登錄,但是我無權對任何文件進行任何更改,因此我可以撤消此操作。該伺服器也是一個虛擬機。有什麼我可以做的嗎?那裡有任何 PAM 技巧嗎?
如果您已將自己鎖定在 root 帳戶之外,則需要使用物理訪問權限。有兩種方法:
- 重新啟動系統。在引導載入程序(例如 Grub)的提示下,請求 root shell。您可能需要按一個鍵才能使引導載入程序提示出現;使用 Grub,您通常需要按住
Shift
. 編輯核心命令行,即以 開頭的行,linux
添加init=/bin/sh
到末尾。啟動,你會得到一個 root shell。使用它來修復任何需要修復的配置文件。此方法需要訪問控制台和未鎖定的引導載入程序。- 關閉系統電源。取出硬碟,插入另一台機器,掛載系統分區。編輯任何需要修復的配置文件。此方法需要訪問機器的儲存。
由於您的系統在虛擬機中執行,因此“物理”訪問實際上是對執行虛擬機的主機系統上的帳戶的訪問。重新啟動和訪問控制台是物理案例的直接模擬。可以使用虛擬機軟體訪問磁碟。這裡有一些方法:
- 使用 guestfs 工具,特別是
guestmount
. 像這樣的東西應該工作:guestmount -a /path/to/vm.img -m /dev/sda1 ~/mnt
qemu-nbd -c /dev/nbd0 /path/to/vm.img mount /dev/nbd0p1 /mnt