如何使用ansible上的A用户操作其它服务上的B用户目录下的文件

通过在Ansible主机清单中为目标组指定 ansible_user=B(即其他服务器上的B用户),就能让Ansible以B用户的身份连接目标服务器,从而操作B用户目录下的文件(前提是B用户对自身目录有读写权限,且已配置Ansible到目标服务器B用户的免密登录)。

简单来说,核心逻辑是:Ansible连接目标服务器时使用的"远程用户",决定了它能操作该用户权限范围内的文件。只要将 ansible_user 设为目标服务器上的B用户,就能直接操作B用户目录下的文件(如 /home/B/ 下的内容),无需依赖Ansible所在机器的A用户。

shell 复制代码
# 1. 先定义主机组(例如:web服务器组、数据库组)
[web_servers]
web01.example.com  # 组内主机1
web02.example.com  # 组内主机2

[db_servers]
db01.example.com   # 组内主机1
db02.example.com   # 组内主机2

# 2. 为每个组指定专属远程用户(关键:[组名:vars] 段)
[web_servers:vars]
ansible_user=webadmin  # web_servers组所有主机,默认用webadmin用户登录

[db_servers:vars]
ansible_user=dbadmin   # db_servers组所有主机,默认用dbadmin用户登录

# (可选)全局默认用户:未单独指定的组,使用此用户(放在清单最顶部或[all:vars])
[all:vars]
ansible_user=default_user  # 如test_servers组未配置,就用default_user
相关推荐
Sweety丶╮7942 小时前
【Ansible】将文件部署到受管主机知识点
云原生·ansible
Anthony_2311 天前
Ansible的 Playbook 模式详解
linux·运维·服务器·ansible
野奔在山外的猫1 天前
【教程】Ansible 环境部署
ansible
泡沫冰@1 天前
实施Ansible Playbook
ansible
鲸屿1954 天前
Ansible之playbook
服务器·网络·ansible
Sweety丶╮7945 天前
【Ansible】的介绍
云原生·ansible
知白守黑2675 天前
Ansible角色
运维·服务器·ansible
Sweety丶╮7945 天前
【Ansible】实施 Ansible Playbook知识点
服务器·云原生·ansible
YC运维6 天前
Ansible题目全解析与答案
java·算法·ansible