Rhel

修改 pam 模組後失去 sudo 的能力

  • January 8, 2021

在我們的一台 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

引用自:https://unix.stackexchange.com/questions/234852