06ansible user yum service模块案例

本文通过Ansible的user模块演示了如何管理Linux系统用户,包括创建、修改和删除用户,以及设置密码和附加组。接着,使用yum_repository模块创建、修改和删除YUM源配置文件,并展示了安装、升级和卸载软件包的过程。最后,通过service模块实现了服务的安装、启动、关闭和设置开机自启。

06ansible user yum service模块案例

标签(空格分隔): ansible后


user模块案例

系统账户管理

在这里插入图片描述

ansible proxy -m user -a “name=tuser2”
ansible proxy -m user -a “name=tuser3 uid=1011 group=adm groups=daemon,root home=/home/tuser3”
ansible proxy -m user -a “name=tuser2 password=‘abc’”
ansible proxy -m user -a “name=tuser2 password={{‘abc’|password_hash(‘sha512’)}}”

远程创建系统账户tuser2
在这里插入图片描述
创建账户并设置对应属性
在这里插入图片描述
修改账户密码 需要进行加密 如果直接指认密码,/etc/shadow文件下直接显示明文,无法登录

先添加明文密码进行实验
在这里插入图片描述
虽然报警,但是可以进行配置,同时显示明文 .由于不识别 无法进行ssh登录
在这里插入图片描述
再次进行密文加密配置 再次验证
在这里插入图片描述
成功登录
在这里插入图片描述

修改删除

在这里插入图片描述

ansible proxy -m user -a “name=tuser2 groups=root,daemon”
ansible proxy -m user -a “name=tuser2 state=absent”
ansible proxy -m user -a “name=tuser3 state=absent remove=true”

修改附加组
在这里插入图片描述
删除账户
删除账户 保留家目录

在这里插入图片描述

yum模块案例

yum_repository

创建修改删除yum源配置文件

在这里插入图片描述

ansible proxy -m yum_repository -a “name=myyum description=hello baseurl=ftp://media gpgcheck=no”
ansible proxy -m yum_repository -a “name=myyum description=test baseurl=file:///mnt gpgcheck=1”
ansible proxy -m yum_repository -a “name=myyum state=absent”

只是演示功能 yum源并不可用
在这里插入图片描述

在这里插入图片描述
进行修改
在这里插入图片描述
进行删除
在这里插入图片描述

安装升级卸载软件包

在这里插入图片描述
软件安装
在这里插入图片描述
已经是最新的了 基于幂等性 显示绿色
在这里插入图片描述
删除成功
在这里插入图片描述

service模块案例

服务管理

在这里插入图片描述

安装服务
在这里插入图片描述
启动服务
在这里插入图片描述
关闭服务和设置开机自启
在这里插入图片描述

### Ansible 常用模块 Ansible 提供了大量的内置模块,用于执行各种任务。以下是部分常用的模块及其功能: #### 1. `copy` 模块模块的主要作用是将本地文件复制到远程主机上[^4]。 ```yaml - name: Copy file to remote server copy: src: /path/to/local/file dest: /path/to/remote/file owner: user group: group mode: '0644' ``` #### 2. `file` 模块模块可以创建、修改或删除文件、目录和链接等资源。 ```yaml - name: Create a directory file: path: /path/to/directory state: directory owner: user group: group mode: '0755' ``` #### 3. `yum` 和 `apt` 模块 这两个模块分别用于管理基于 RedHat/CentOS (YUM) 和 Debian/Ubuntu (APT) 系统中的软件包安装状态。 ```yaml - name: Install httpd using YUM yum: name: httpd state: present ``` #### 4. `service` 模块 通过这个模块可以启动、停止或者重启服务。 ```yaml - name: Restart Apache service service: name: httpd state: restarted ``` #### 5. `template` 模块 允许用户利用 Jinja2 模板引擎生成配置文件并将其部署至目标机器。 ```yaml - name: Template a file to /etc/foo.conf template: src: /templates/etc/foo.conf.j2 dest: /etc/foo.conf owner: root group: root mode: '0644' ``` --- ### Playbook 使用教程 Playbooks 是 YAML 文件形式的任务清单集合,它们描述了一组要运行的操作序列。 #### 创建第一个 Playbook 下面是一个简单的例子,展示如何编写一个基本的 Playbook 来更新服务器上的软件包缓存,并确保 Nginx 已经被安装且正在运行: ```yaml --- - hosts: all become: yes tasks: - name: Update apt cache and install nginx apt: update_cache: yes name: nginx state: latest - name: Start the nginx service service: name: nginx state: started enabled: yes ``` 保存上述内容为 `nginx.yml` 后可以通过如下命令执行: ```bash ansible-playbook -i inventory_file nginx.yml ``` 其中 `-i` 参数指定了库存文件的位置;如果没有指定,默认会查找当前工作目录下的 `hosts` 或 `/etc/ansible/hosts`. #### Tags 功能的应用 为了更灵活地控制哪些 task 执行,在定义 Task 的时候还可以加上标签(tag),这样就能单独挑选某些特定标记的任务来运行了[^1]: ```yaml - name: Ensure apache is at the latest version yum: name: httpd state: latest tags: - webserver ``` 之后只需加参数即可只跑带某 tag 的 job : ```bash ansible-playbook site.yml --tags "webserver" ``` #### Handler 的触发机制 Handlers 类似于 Tasks ,只是当某个条件满足时才会被执行一次 。比如监听器通常用来响应服务变化后的重新加载动作[^3]: ```yaml handlers: - name: restart apache service: name: httpd state: restarted tasks: - name: Configure something that needs restarting later... notify: restart apache ``` 一旦任何带有 `notify` 属性的任务完成了更改,则对应的 handler 将会被激活。 --- ### 结论 以上介绍了几个常见的 Ansible 模块以及 Playbook 的基础概念与实际应用案例。希望这些信息可以帮助您更好地理解和运用 Ansible 自动化工具!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值