当前位置: 首页 > article >正文

ansible自动化运维实战--复制模块和用户模块(3)

文章目录

    • 一、复制模块(copy)
      • 1.1、功能
      • 1.2、常用参数
      • 1.3、示例
      • 1.4、注意事项
    • 二、用户模块(user)
      • 2.1、功能
      • 2.2、常用参数
      • 2.3、示例

一、复制模块(copy)

1.1、功能

用于将本地文件复制到远程主机。可以指定源文件或目录,以及目标路径。

1.2、常用参数

  • src:指定要复制的源文件或目录的路径,可以是相对路径或绝对路径。
  • dest:指定复制到远程主机上的目标路径,必须是绝对路径。
  • owner:设置目标文件或目录的所有者。
  • group:设置目标文件或目录的所属组。
  • mode:设置目标文件或目录的权限。
  • backup:是一个可选的参数,其主要功能是在复制文件时,若目标文件已经存在,Ansible 会先将其备份(参数取值backup: false默认值,不进行备份操作; true:执行备份操作。)

1.3、示例

ansible webserves -m copy -a 'src=/etc/hosts dest=/tmp/2.txt owner=root group=bin mode=777 backup=yes'

在这里插入图片描述
当 backup 参数设置为 true 时,如果复制操作会覆盖远程主机上的现有文件,Ansible 会先将现有的文件备份到一个以 .bak 结尾的文件中。这可以防止意外覆盖重要文件,并提供了一种恢复机制,确保在出现问题时能够回滚到原始文件。

在这里插入图片描述

在这里插入图片描述

在上述示例中,Ansible 会将本地/etc/hosts 文件复制到远程 /tmp/2.txt 位置。如果/tmp/2.txt 已经存在,Ansible 会先将其备份为 2.txt.2449.2025-01-22@10:34:51~,然后再进行复制操作。这样可以保留原始文件的副本,防止数据丢失或误操作带来的风险。

1.4、注意事项

  • 备份文件的名称是自动生成的,遵循 原文件名.bak 的格式。如果多次进行复制操作,并且都触发了备份,Ansible 会不断创建新的备份文件,例如:file.txt.bak、file.txt.bak.1、file.txt.bak.2 等,以避免覆盖之前的备份文件。
  • 备份文件会占用一定的存储空间,所以在使用该功能时,需要确保远程主机有足够的空间存储备份文件。
    这个参数在进行文件更新操作时特别有用,能够为文件提供一定的安全性和可恢复性,降低因复制操作而导致数据丢失的风险。在执行自动化任务时,尤其是涉及到关键配置文件的更新或替换时,使用 backup 参数可以作为一种良好的实践。

查看帮助文档,可使用命令:

ansible-doc copy

二、用户模块(user)

2.1、功能

用于在远程主机上创建、删除或管理用户账户。可以设置用户的各种属性,如密码、UID、GID 等。

2.2、常用参数

  • name:要创建或管理的用户名,这是必选参数。
  • password:设置用户的密码,密码需要使用加密后的字符串。
  • uid:指定用户的 UID。
  • gid:指定用户的主组 GID。
  • groups:指定用户所属的附加组。
  • state:指定用户的状态,取值为present(默认,表示创建或更新用户)或absent(表示删除用户)。

2.3、示例

  • 添加tigerhhzz用户
ansible webserves -m user -a 'name=tigerhhzz state=present'

在这里插入图片描述
在这里插入图片描述

#生成加密密码
echo "123" | openssl passwd -1 -stdin

#输出结果
$1$S3KBwt0V$HqjEknzOIWRi47aodCFlD1

在这里插入图片描述

  • tigerhhzz用户名添加密码
#给tigerhhzz用户名添加密码
ansible webserves -m user -a 'name=tigerhhzz password="$1$S3KBwt0V$HqjEknzOIWRi47aodCFlD1"'

#测试 使用tigerhhzz登录
ssh tigerhhzz@192.168.162.105

在这里插入图片描述

  • 删除tigerhhzz用户
ansible webserves -m user -a 'name=tigerhhzz state=absent'

在这里插入图片描述

在这里插入图片描述

查看帮助文档,可使用命令:

ansible-doc user

在这里插入图片描述


想,都是问题;做,才是答案。



http://www.kler.cn/a/515882.html

相关文章:

  • python如何导出数据到excel文件
  • PHP礼品兑换系统小程序
  • 接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
  • JSqlParser:Java SQL 解析利器
  • STranslate 中文绿色版即时翻译/ OCR 工具 v1.3.1.120
  • GD32L233RB 驱动数码管
  • 【0x06】HCI_Authentication_Complete事件详解
  • Solr与Elasticsearch 的对比与选型
  • Unity中关于实现 管道水流+瀑布流动+大肠蠕动效果笔记
  • HTML5 新表单属性详解
  • 深度剖析聚合 CPS 分销与 CPA 推广系统:打破收益枷锁,开启创业新篇
  • WebSocket异步导出
  • 笋瓜果实的代谢组学和转录组分析-文献精读103
  • [ Spring ] Spring Cloud Gateway 2025 Comprehensive Overview
  • ESP32C3使用Audiuno搭建开发环境入门
  • 智慧农业——温湿,土壤,风速风向,降雨量 传感器监视平台
  • 单路由及双路由端口映射指南
  • Objective-C语言的计算机基础
  • 【0x0012】HCI_Delete_Stored_Link_Key命令详解
  • MFC结构体数据文件读写
  • 【JavaEE】Spring(3):IoC和DI
  • C#单点登录(SSO):解锁高效访问的密码
  • 汇编实验·子程序、分支、循环综合设计
  • 初识Netty(使用Netty实现服务端与客户端)
  • AWScurl笔记
  • 【Java设计模式-7】责任链模式:我是流水线的一员