gpt4 book ai didi

ansible - 如何使用 ansible 移动 centos 用户的 homedir?

转载 作者:行者123 更新时间:2023-12-04 19:31:07 26 4
gpt4 key购买 nike

我有一个 CentOS 集群,其中 /home将安装在 nfs 上。所以我认为centos用户的家应该被移动到一个仍然是本地的地方,也许是 /var/lib/centos或者其他的东西。但是给定centosansible_user我不能使用:

hosts: cluster
become: yes
tasks:
- ansible.builtin.user:
name: centos
move_home: yes
home: "/var/lib/centos"
不出所料,它失败了
usermod: user centos is currently used by process 45028
任何半整洁的解决方法,或更好的想法?

最佳答案

我认为您无法使用 user 来做到这一点。如果您以 centos 身份连接,则模块用户。但是,如果您自己处理各个步骤,它应该可以工作:

---
- hosts: centos
gather_facts: false
become: true
tasks:
- command: rsync -a /home/centos/ /var/lib/centos/
- command: sed -i 's,/home/centos,/var/lib/centos,' /etc/passwd
args:
warn: false
- meta: reset_connection
- command: rm -rf /home/centos
args:
warn: false
这将重新定位主目录,更新 /etc/passwd ,然后删除旧的主目录。 reset_connection在那里强制建立一个新的 ssh 连接:没有它,当您删除主目录时,Ansible 会不高兴。
在实践中,您需要在上述剧本中添加一些逻辑以使其具有幂等性。

关于ansible - 如何使用 ansible 移动 centos 用户的 homedir?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66283518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com