如何通过Ansible延长用户账户的过期日期?
如何用Ansible批量延长现有用户的账户有效期?
背景
我是Ansible新手(仍在学习中)。我们有一个用于创建新用户的Playbook,可配置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
我们执行该Playbook时,会用-i参数指定包含目标机器IP的主机文件,命令示例:
ansible-playbook create-newuser1.yml -i hosts.servers
当前问题
目前我们需要逐个登录主机,手动执行以下命令来延长用户账户的有效期:
sudo chage -E 2023-12-28 TestUser
我希望能通过类似现有脚本的方式批量完成这个操作,通过文件或Playbook命令指定目标主机,但修改脚本的尝试都失败了。我查阅过user模块文档及相关用户账户管理文档,仍未找到解决方案。
更新1:我的尝试思路
我想到一个方案:创建名为extend-TestUser.yml的Playbook文件,内容如下:
- command: chage -E 2023-12-28 TestUser
然后执行命令:
ansible-playbook extend-TestUser.yml -i hosts.servers
请问这个方法是否可行?
内容的提问来源于stack exchange,提问作者S.Mahmood
相关产品推荐
相关产品推荐

