Ansible Playbook 入门实战:自动化创建 Linux 用户

前言

在自动化运维场景中,Ansible 是轻量、高效的批量运维工具,Playbook 是 Ansible 实现配置管理、应用部署、任务自动化的核心编排方式。

本文以创建 Linux 系统用户为实战案例,从零编写标准的 Ansible Playbook,包含完整编写、语法校验、执行验证全流程,适合 Ansible 新手快速上手。


一、环境准备

  1. 已部署 Ansible 环境(控制节点:test01)
  2. 目标主机已配置 SSH 免密登录
  3. 熟悉 YAML 基础语法(缩进敏感、键值对格式)

二、Ansible Playbook 核心概念

  • Playbook:YAML 格式的 Ansible 任务脚本,后缀为 .yaml/.yml
  • Play:剧本中的一个执行单元,包含主机、任务等配置
  • hosts:指定要执行任务的目标主机 / 主机组
  • tasks:任务列表(必须为复数),存放要执行的操作
  • user:Ansible 内置模块,用于管理 Linux 用户

三、编写标准 Playbook

创建脚本文件 vim first.yaml,编写规范、可直接执行的代码:

yaml

复制代码
---
# 定义 Play 名称
- name: Automatically create Linux user
  # 指定目标主机
  hosts: test01
  # 任务列表(核心关键字,必须为 tasks)
  tasks:
    # 单个任务名称
    - name: Create user admin1
      # 使用 user 模块创建用户
      user:
        name: admin1       # 用户名
        state: present    # 状态:present 表示创建,absent 表示删除

脚本说明

  1. ---:YAML 文件标准开头,标识文件格式
  2. name:任务描述,提升可读性
  3. hosts:指定执行任务的目标机器
  4. tasks:固定关键字,声明任务集合
  5. user 模块:系统原生模块,无需额外安装,安全稳定

四、语法校验(必做步骤)

在执行 Playbook 之前,必须先校验语法,避免运行时报错:

bash

运行

复制代码
ansible-playbook --syntax-check first.yaml

校验成功输出

出现 playbook: first.yaml 表示语法完全正确,警告不影响执行。


五、执行 Playbook

执行命令,一键在目标主机创建用户:

bash

运行

复制代码
ansible-playbook first.yaml

执行成功输出

复制代码
PLAY [Automatically create Linux user] ******************

TASK [Gathering Facts] ***********************************
ok: [test01]

TASK [Create user admin1] *******************************
changed: [test01]

PLAY RECAP **********************************************
test01 : ok=2  changed=1  unreachable=0  failed=0

执行结果说明

  • ok=2:两个任务执行成功
  • changed=1:目标主机状态已变更(用户创建成功)
  • failed=0:无任何错误

六、验证执行结果

登录目标主机,查看用户是否创建成功:

bash

运行

复制代码
id admin1

输出用户信息即表示创建完成。


七、Playbook 编写规范总结

  1. 关键字必须正确 :任务列表固定使用 tasks:(复数)
  2. 缩进严格:YAML 语法强制缩进,使用 2 个空格(禁止 Tab)
  3. 先校验后执行 :养成 --syntax-check 校验习惯
  4. 语义化命名name 字段清晰描述任务用途
  5. 模块标准化:优先使用 Ansible 官方内置模块

八、扩展优化(可选)

可在 Playbook 中增加用户配置,实现更完整的用户创建:

yaml

复制代码
user:
  name: admin1
  state: present
  home: /home/admin1    # 指定家目录
  shell: /bin/bash      # 指定默认 shell
  create_home: yes      # 自动创建家目录

结语

通过本文实战,你已经掌握了 Ansible Playbook 的标准编写、语法校验、执行验证全流程。

Playbook 是 Ansible 自动化的核心,熟练掌握基础写法后,可快速扩展到软件安装、文件分发、服务管理、批量配置等运维场景,大幅提升运维效率。

相关推荐
15&30游山_玩水69☆156♀252 小时前
高性能自动化核心配件选型:西门子 S7-1500 CPU 与博世力士乐 IndraDrive M 伺服驱动器详解
运维·自动化
瀚高PG实验室2 小时前
管理工具无法连接数据库,但是navicat可以正常连接
运维·数据库·瀚高数据库
@insist1232 小时前
网络工程师-高级隧道与运营商网络技术全解析(GRE 虚拟专用网, MPLS, MPLS 虚拟专用网)
网络·网络工程师·软考·软件水平考试
努力的搬砖人.2 小时前
CentOS 7 系统(内核版本 3.10.0-229.el7.x86_64)无法使用 yum 更新
linux·运维·centos
代码中介商2 小时前
Linux vi/vim 配置与程序调试完全指南
linux·运维·vim·gbd
BY组态2 小时前
《工业4.0时代的智能组态解决方案:打造高效自动化控制系统》
运维·信息可视化·自动化
ToDesk_Daas2 小时前
多人同时控制一台电脑?ToDesk协作版上线了
网络·人工智能·电脑
张火火isgudi2 小时前
OpenWrt 部署 EasyTier 进行异地组网
linux·运维·网络
草木红2 小时前
Docker常用命令
运维·docker·容器