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

文章目录

一、复制模块(copy)

1.1、功能

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

1.2、常用参数

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

1.3、示例

bash 复制代码
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 参数可以作为一种良好的实践。

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

bash 复制代码
ansible-doc copy

二、用户模块(user)

2.1、功能

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

2.2、常用参数

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

2.3、示例

  • 添加tigerhhzz用户
bash 复制代码
ansible webserves -m user -a 'name=tigerhhzz state=present'


bash 复制代码
#生成加密密码
echo "123" | openssl passwd -1 -stdin

#输出结果
$1$S3KBwt0V$HqjEknzOIWRi47aodCFlD1
  • tigerhhzz用户名添加密码
bash 复制代码
#给tigerhhzz用户名添加密码
ansible webserves -m user -a 'name=tigerhhzz password="$1$S3KBwt0V$HqjEknzOIWRi47aodCFlD1"'

#测试 使用tigerhhzz登录
ssh tigerhhzz@192.168.162.105
  • 删除tigerhhzz用户
bash 复制代码
ansible webserves -m user -a 'name=tigerhhzz state=absent'

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

bash 复制代码
ansible-doc user

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


相关推荐
小小、码农2 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b2 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
烟雨江南7854 小时前
2026汽车制造与新能源整车柔性产线Agentic-Workflow白皮书:跨APS_MES_ERP多智能体动态排产与装配容错实战
大数据·网络·人工智能·自动化·ai客服·企业agent
沫璃染墨4 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
AIgorithmGEEK5 小时前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
修罗王5 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
迪康Defender5 小时前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他
明达智控技术5 小时前
国产PLC、远程IO模块在食品包装机的应用
分布式·自动化
酷可达拉斯6 小时前
Linux操作系统-升级OpenSSH修复漏洞
linux·运维·服务器·云计算
代码方舟6 小时前
零信任架构实战:基于天远柠檬查出险-登记证API构建自动化车辆履约评估网关
人工智能·python·架构·自动化