安裝nfs-utils後登入不正確

安裝nfs-utils後登入不正確

我正在嘗試在無狀態 RHEL6.5 KVM 虛擬機器中安裝 nfs-utils(及其所有依賴項)。 VM 透過/etc/sysconfig/readonly-root檔案、我沒有實現的 Linux 魔法以及 VM 設定 GUI 中的「唯讀」選項配置為具有唯讀根。安裝是使用 完成的virt-customize -a image.img --run install_script.sh。該腳本使用此處文件來建立 .repo 檔案(該檔案將轉到 CentOS 6.5 的保管庫),然後我用它來yum install -y nfs-utils進行實際安裝。我之所以採用這種方法,是因為與讓虛擬機器以讀/寫模式啟動、安裝、清理然後關閉相比,它顯得更簡單、更乾淨且不易出錯。另外,我不知道如何讓它啟動讀/寫。

輸出virt-customize顯示軟體包已成功安裝。唯一的失敗是由於拼字錯誤而刪除了 .repo。

安裝完成後,我啟動了虛擬機器並嘗試像往常一樣登入。我的嘗試現在被拒絕了,因為Login incorrect

我檢查了virt-cat以確保用戶的登入 shell 設定正確,並且加密的密碼看起來/etc/shadow與原始密碼相同。

我最初的方法是建立一個包含所有依賴項和 nfs-utils 的 ISO 映像,並將其附加到 VM 並讓腳本處理安裝。當時也出現了同樣的問題。我將問題的根源縮小到安裝了一個 NFS 軟體包:或者nfs-utilsnfs-utils-lib兩者之一,我不記得了),以及軟體包rpcbind。安裝這些軟體包之一併啟動虛擬機器後,登入會中斷。我猜這也是現在發生的同樣的問題。

我用於 VM 的映像是cp從原始 VM 映像中刪除的,因為這是一個測試,旨在找出如何正確進行安裝。

是的,我輸入的密碼正確。我嘗試更改用戶的密碼(通過libguestfs工具),但仍然無法登錄,因此我不確定更改是否失敗(命令的返回碼表示成功)或是否存在相同的問題。

問題:

  1. 登入問題可以調試和修復嗎?如果是這樣,怎麼辦?
  2. 如何正確安裝才能避免登入失敗?顯然這種方法行不通。

答案1

這裡的核心問題是 SELinux。將軟體安裝到虛擬機器的方法有很多種,但歸根結底都是虛擬機器被引導或不被引導。後者是把一切搞砸的原因,這就是我在帖子中進行安裝的方式。

據我所知,當虛擬機器關閉並安裝軟體(例如透過問題中的命令)時,SELinux 意識到發生了一些變化,並且它不知道安裝後啟動虛擬機器時發生了什麼,並鎖定所有內容。允許 SELinux 重新標記可以解決這個問題,但對我來說破壞了很多其他東西。實際上,當系統離線時,無法編寫安裝腳本,因為您可能會遇到這種情況。請注意,此問題可能僅與 RHEL6.5 VM 及其 SELinux 版本有關(我們的版本鎖定為 RHEL6.5)。

對此類 VM 進行安裝的正確方法是將其啟動至讀取/寫入模式,並透過安裝具有所需 RPM 的 ISO 或使用套件管理器來執行安裝。啟動時,SELinux 會意識到安裝,一切都會很好。

相關內容