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

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


相关推荐
dntktop11 分钟前
隐私保护+性能优化,RyTuneX 让你的电脑更快更安全
运维·windows
fajianchen35 分钟前
大厂案例——腾讯蓝鲸DevOps类应用的设计与实践
运维·devops
黯然~销魂43 分钟前
root用户Linux银河麒麟服务器安装vnc服务
linux·运维·服务器
huaweichenai1 小时前
windows下修改docker的镜像存储地址
运维·docker·容器
�时过境迁,物是人非2 小时前
ECS中实现Nginx四层和七层负载均衡以及ALB/NLB实现负载均衡
运维·nginx·负载均衡
Zfox_3 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·c++
大新新大浩浩3 小时前
jenkins平台使用Login Theme、Customizable Header插件定制修改登陆页图片文字及首页标题
运维·servlet·jenkins
laimaxgg3 小时前
Linux关于华为云开放端口号后连接失败问题解决
linux·运维·服务器·网络·tcp/ip·华为云
浪小满3 小时前
linux下使用脚本实现对进程的内存占用自动化监测
linux·运维·自动化·内存占用情况监测
艾杰Hydra4 小时前
LInux配置PXE 服务器
linux·运维·服务器