我对Ansible非常陌生(仍在学习)。
我们有一个脚本来创建新的用户,提供sudo访问,定义首次登录时要更改的密码,用户详细信息,帐户到期日期,然后定义密码到期信息:
---
- name: Create user with key
hosts: all
user: ansible
sudo: True
vars:
password: $6$VhuG16emtCgF0zrK$dzE8swYNnLQeUkdgcgpTqr0stY8enepxcske8ATLAERjORpKkqYcGD6r6ssTNe4EdwwRs2UjjiAM/8tWCeEnN/
raw: Password@1
tasks:
- name: Create New User
user: name=TestUser comment="Test User" createhome=yes groups=wheel state=present password={{ password }}
- command: chage -E 2023-10-18 TestUser
- command: chage -d 0 TestUser
- command: chage -M 120 TestUser
register: newuser
我们将使用-i
在playbook命令中定义主机,然后使用主机文件的名称(包含将在其上创建用户帐户的机器的IP),例如:
ansible-playbook create-newuser1.yml -i hosts.servers
目前,要扩展用户帐户,我们必须访问每个主机并在本地扩展帐户:
sudo chage -E 2023-12-28 TestUser
对于Ansible中的“Maven”来说,这听起来像是一个直截了当的问题,但我无法找到有关如何使用上述类似脚本的信息(我尝试调整上述脚本并失败)来延长现有用户帐户的到期日期并在文件或playbook命令中定义主机。
尝试搜索user
module,找不到任何东西。在Managing user accounts using Ansible playbooks中也有快速浏览。
还在挣扎
更新1
刚刚有一个脑电波,我只需要创建一个yml文件(名为:extend-TestUser.yml
)说明:
- command: chage -E 2023-12-28 TestUser
然后声明此命令:
ansible-playbook extend-TestUser.yml -i hosts.servers
1条答案
按热度按时间fivyi3re1#
您可能会查看文档
user
module – Manage user accounts和一个最小的示例Playbook它显示了如何将到期日期从当前日期延长120天和/或设置新密码。
感谢
ansible_facts
... only when needed?n
days or minutes