我確定這里有人可以解決我的問題。我正在Ansible主機文件中定義的主機上創建用戶。但是,當用戶希望登錄時,root用戶需要定義用戶密碼。我需要自動創建用戶密碼。要使用劇本創建用戶密碼,我們無法以明文形式指定密碼,我們只能通過提供哈希值來做到這一點: - name: Add Users + Assign to Group user: name: "{{ item }}" password: $6$ul4TACYvHI.kmGUK$j32lU8fNbX.eW0DZOqnnDlP8i0...要創建哈希,第一步是通過以root用戶身份登錄到目標服務器來定義密碼,然后使用python-crypt創建哈希。運行命令后,終端將提供哈希值,并將其粘貼到劇本中。(在下面的示例中,密碼為“ ansible”)python -c 'import crypt; print crypt.crypt("ansible")'當我在目標服務器上運行該劇本時,我可以以使用python-crypt定義的密碼創建劇本的用戶身份登錄(在這種情況下,我以user2身份登錄,密碼為“ ansible”)login as: [email protected]'s password: "ansible"[user1@hostname ~]$這意味著我必須在要創建用戶的服務器的終端中創建哈希,然后將哈希復制并粘貼到劇本中。如果我有一臺服務器,這不是什么大麻煩,但是如果我要對100臺服務器運行劇本,那么我需要以root用戶身份登錄到100臺服務器并創建100個哈希,然后在劇本中定義所有這些哈希,這不是很自動化!因此,需要的是能夠從劇本執行python-crypt,grep創建的哈希并將其放入劇本的功能。您對如何執行此操作有任何想法嗎?甚至在Ansible中也不是,我不希望你們為我寫劇本。也許考慮如何在您選擇的工具(例如PowerShell)中執行此操作。一旦了解了該過程,便可以將其翻譯成劇本。
1 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
在FAP之類的變量中設置密碼,然后將其添加到腳本中以創建用戶:
- name: "Encrypt password for target system"
command: "python -c 'import crypt; print crypt.crypt(\"{{ FAP }}\")'"
register: EFAP
- name: "Add user USER1"
user: name="USER1" state="present" password="{{ EFAP.stdout }}"
我已經使用復雜的密碼對此進行了測試,并且可以正常工作
- 1 回答
- 0 關注
- 796 瀏覽
添加回答
舉報
0/150
提交
取消