puppet 使用者模組未使用雜湊密碼更新 /etc/shadow

puppet 使用者模組未使用雜湊密碼更新 /etc/shadow

我正在使用 puppet 管理我的 ec2 應用程式實例,這也涉及使用者管理。但最近我注意到一個錯誤,我無法使用我透過木偶添加的任何使用者名稱登入。檢查損壞的實例之一(在本例中我使用密鑰)後,我發現 /etc/shadow 密碼欄位(第二列)為空。我無法找出哈希密碼未隨著用戶創建而更新的原因..因為我在用戶模組中提供了哈希密碼..相信我,我正在使用一個非常簡單的傀儡「用戶」模組,但由於某種原因它不是更新使用者的密碼。

注意:此模組在我的本機電腦(Centos 6.3)上運作良好

這是我的“user.pp”模組和日誌:

1)附加user.pp。

2)Puppet運行日誌:

mnotice: /Usertgrochowicz/ensure: created
mnotice: /Userjpollard/ensure: created
mnotice: /Userbottle/ensure: created
mnotice: /Userjburgar/ensure: created
mnotice: /Userrahul/ensure: created
mnotice: /Userjfenocchi/ensure: created
mnotice: /Userdwhite/ensure: created
mnotice: /Userbporter/ensure: created
mnotice: /Userasavarin/ensure: created
mnotice: /Userehalfin/ensure: created
mnotice: Finished catalog run in 1.69 seconds
mnotice: Finished catalog run in 0.21 seconds

3) 建立檔案 /etc/shadow 條目:

tgrochowicz:!!:15956:0:99999:7:::
jpollard:!!:15956:0:99999:7:::
bottle:!!:15956:0:99999:7:::
jburgar:!!:15956:0:99999:7:::
rahul:!!:15956:0:99999:7:::
jfenocchi:!!:15956:0:99999:7:::
dwhite:!!:15956:0:99999:7:::
bporter:!!:15956:0:99999:7:::
asavarin:!!:15956:0:99999:7:::
ehalfin:!!:15956:0:99999:7:::

4)作業系統版本和架構:

ec2-user@ip-10-100-38-78 ~$ uname -r
3.4.43-43.43.amzn1.x86_64
ec2-user@ip-10-100-38-78 ~$ uname -a
Linux ip-10-100-38-78 3.4.43-43.43.amzn1.x86_64 #1 SMP Mon May 6 18:04:41 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

知道為什麼這個模組無法從 ec2 實例上的模組更新密碼嗎?


抱歉,我不知道這不是一個論壇。這是我的問題的更新:

我同意......而且我忘了告訴 ruby​​-shadow 已經作為“用戶”模組的先決條件安裝了。 /etc/shadow 密碼欄位仍然為空。我不知道是什麼阻止了木偶..有什麼想法嗎?

以下是顯示 ruby​​-shadow 已安裝並啟動的命令日誌:

[root@ip-10-100-39-44 ~]# ruby -e "require 'puppet' ; puts Puppet.features.libshadow?"
true
[root@ip-10-100-39-44 ~]# rpm -qa | grep ruby-shadow
ruby-shadow-1.4.1-15.2.amzn1.x86_64

這裡是 puppet 日誌,顯示了在「user」模組之前安裝的套件「ruby-shadow」:

[root@ip-10-100-39-44 ~]# less /var/log/messages 
*(/Stage[main]/Packages/Yumrepo[epel]/enabled) enabled changed '0' to '1'
Sep 20 03:08:50 ip-10-100-39-44 yum[2631]: Installed: ruby-shadow-1.4.1-15.2.amzn1.x86_64
Sep 20 03:08:51 ip-10-100-39-44 puppet-apply[2471]: (/Stage[main]/Packages/Package[ruby-shadow]/ensure) created*

*(/Stage[main]/Env::Sshd/Augeas[PasswordAuthentication]/returns) executed successfully
Sep 20 03:10:32 ip-10-100-39-44 puppet-apply[2471]: (/Stage[main]/Env::Sshd/Service[sshd]) Triggered 'refresh' from 1 events
Sep 20 03:10:38 ip-10-100-39-44 puppet-apply[2471]: (/Stage[main]//Exec[wait_for_5_sec]/returns) executed successfully
Sep 20 03:10:38 ip-10-100-39-44 puppet-apply[2471]: (/User[bporter]/ensure) created
Sep 20 03:10:38 ip-10-100-39-44 puppet-apply[2471]: (/User[asavarin]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[ehalfin]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[jpollard]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[bottle]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[jburgar]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[rahul]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[tgrochowicz]/ensure) created
Sep 20 03:10:40 ip-10-100-39-44 puppet-apply[2471]: (/User[jfenocchi]/ensure) created
Sep 20 03:10:40 ip-10-100-39-44 puppet-apply[2471]: (/User[dwhite]/ensure) created*

謝謝

答案1

Ruby(以及 Puppet)需要安裝一個名為 ruby​​-shadow 的函式庫,以便允許 ruby​​ 修改影子密碼檔。

在 RHEL/CentOS 上,這是 ruby​​-shadow rpm。在其他平台上,它可能稱為 ruby​​-shadowlib。

木偶文檔在使用者類型在provider->useradd 部分下。

您應該能夠透過執行以下操作來驗證您是否正在載入正確的內容:

ruby -e "require 'puppet' ; puts PUppet.features.libshadow?"

如果正確加載,它應該返回 true。

相關內容