首页 > 其他分享 >ansible入门指南 - 常用的Ad-Hoc指令

ansible入门指南 - 常用的Ad-Hoc指令

时间:2023-08-18 16:25:05浏览次数:34  
标签:Hoc -- ansible user 模块 become localhost Ad

常用的Ad-Hoc指令

ansible命令的基本语法为

ansible -m module -a params -i inventory.yaml -f 5 -u username all

-m 指定运行的模块, 缺省值为 ansible.builtin.command , 即在服务器上直接运行命令
-a 指定模块的参数
-i 指定inventory文件
-f 指定同时运行的数量, 缺省值为5
-u 指定运行的用户, 缺省值为控制机当前用户

command

使用chino用户登录服务器, 切换到root用户重启机器

ansible all -a "/sbin/reboot" -f 10 -u chino --become root [--ask-become-pass] -i inventory.yaml

copy

ansible all -m copy -a 'src=/etc/hosts dest=/tmp/hosts mode=600' -i inventory.yaml

上面的指令把控制机上/etc/hosts文件复制到所有的被控机上, 并且文件的权限设置为600. 使用 ansible-doc copy指令可以查看所有的参数信息

file

ansible all -m file -a "dest=/tmp/path/to/c mode=755 owner=chino group=chino state=directory" -i inventory.yaml

上面的命令在被控机器上创建了 /tmp/path/to/c 目录, 并且设置了目录的权限和owner

yum

ansible webservers -m ansible.builtin.yum -a "name=acme state=absent"

yum模块用于管理系统安装的软件包, 对应的同样有apt模块, absent表示删除软件. 状态包含 present, installed, latest, absent, removed, 使用ansible-doc yum 查看详情

user

user模块在linux上建用户时只能接受加密过的密码, 可以使用下面的几种方式生成加密的密码, 根据需求修改密码和加密的salt

  1. 使用ansible的password_hash过滤器生成加密密码
ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha512', 'mysecretsalt') }}"
# msg的值即为创建用户时用到的密码
# localhost | SUCCESS => {
#     "msg": "$6$mysecretsalt$qJbapG68nyRab3gxvKWPUcs2g3t0oMHSHMnSKecYNpSi3CuZm.GbBqXO8BE6EI6P1JUefhA0qvD7b5LSh./PU1"
# }
  1. 使用passlib库创建密码, 需要安装好 passlib库, 即 pip install passlib
python -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.using(rounds=5000).hash(getpass.getpass()))"

  1. 使用mkpasswd命令
# ubuntu上默认没有mkpasswd命令, 需要使用如下命令安装
sudo apt install whois
# 使用mkpasswd 生成密码
mkpasswd -m sha-512
# 创建foo用户, 并且把用户加到sudo组中
ansible -m user -a 'name=foo password=$6$mysecretsalt$qJbapG68nyRab3gxvKWPUcs2g3t0oMHSHMnSKecYNpSi3CuZm.GbBqXO8BE6EI6P1JUefhA0qvD7b5LSh./PU1 groups=sudo' all -i localhost, --become-user=root --become
# 删除foo用户
ansible -m user -a 'name=foo state=absent' all -i localhost, --become-user=root --become

service

service 模块用于管理服务器上的服务状态, state的可选值有 reloaded, restarted, started, stopped

ansible all -m service -a "name=httpd state=restarted" -i localhost,

setup

setup 模块用于收集系统信息, 这些信息可以用于在任务中根据条件执行任务

ansible all -m setup -i localhost,

标签:Hoc,--,ansible,user,模块,become,localhost,Ad
From: https://www.cnblogs.com/Chinori/p/17640842.html

相关文章

  • ansible入门指南 - ansible的常用命令
    ansible的常用命令运行ansible命令的时候会使用ansible.cfg配置文件配置文件优先级为ANSIBLE_CONFIG指定的文件>~/.ansible.cfg>/etc/ansible/ansible.cfgansibleansible命令可以用来运行ad-hoc指令ansible-config配置文件相关的功能,可以运行以下命令生成一个默......
  • 百度WebUploader实现大文件上传
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • MyEclipse9.0安装jad反编译插件
    1.下载反编译工具jad(下面提供下载)将下载下来的jadstar158.zip解压缩,将jad.exe文件放入jdk安装目录下如:D:\ProgramFiles\Java\jdk1.6.0_20\bin 2.下载eclipse反编译插件net.sf.jadclipse_3.3.0.jar(下面提供下载) 3.将net.sf.jadclipse_3.3.0.jar 放入MyEclipse安装目录下, 如 :安......
  • 读取xls文件时报错 Initialisation of record 0x203(NumberRecord) left 4 bytes rema
    项目背景:公司的一个客户报告项目需要同步及抽取客户方的文件数据,文件类型为xls格式,文件为客户方的第三方厂商系统批量生成,工具及方法不明问题:读取该类xls文件后,无法成功创建Workbook,报错提示“Initialisationofrecord0x203(NumberRecord)left4bytesremainingstilltob......
  • LoadRunner如何监控Linux系统资源
     一简述:LoadRunner监控Linux资源时弹出如下错误:Monitorname:UNIXResources.Cannotinitializethemonitoringon192.168.52.189.ErrorwhilecreatingtheRPCclient.Ensurethatthemachinecanbeconnectedandthatitrunstherstatdaemon(userpcinfouti......
  • web 通用 request - download
    requestimportaxiosfrom'axios'import{MessageBox,Message}from'element-ui'importstorefrom'@/store'import{getToken,getzyToken}from'@/utils/auth'//createanaxiosinstanceconstservice=axios.c......
  • Ai 2020下载-Adobe Illustrator CC 2020官方版下载 系列软件
    ai是一款广泛应用于出版、多媒体和在线图像的工业标准矢量插画的软件。AdobeIllustratorCS5即ai,ai除了能够绘制高精度的矢量图之外,也可以为线稿提供较高的精度和控制,适合生产任何小型设计到大型的复杂项目!软件地址:看置顶贴AdobeIllustrator2020的功能特点:最新的插图行业标准的......
  • au全版本下载下载大全 Adobe Audition官方软件 系列软件
    au软件功能:1、此款音频录制编辑软件可以对音频实现非常多的操作,是专业人士们都很喜欢的软件。2、软件可以实现非常复杂的音频混音,想混的地方一点也不冲突,其他冲突的地方会被淡化减去。3、用户可以使用这款软件进行音频的录制,录制结束还可以对音频进行剪辑。软件地址:看置顶贴Auditio......
  • bad_python
      对着正确的pyc文件在010把题目文件的前缀改掉  ......
  • MySQL客户端工具 phpMyAdmin MySQL Workbench HeidiSQL Sequel Pro DBeaver
    MySQL是一种流行的关系型数据库管理系统,它被广泛用于Web应用程序和企业级应用程序的开发中。目前,市面上有不少好用的MySQL客户端工具,如Navicat,SQLyog等。但这些产品虽然功能强大,却都是收费的,而且费用还不低。幸运的是,收费产品并不是你的唯一选择,目前也有不少开源的工具。如果你不想......