• 4 ansible补充


    一 使用普通用户去执行ansible,配置文件如何配置

    192.168.6.220:22 ansible_ssh_user=yx ansible_ssh_pass='123' ansible_sudo_pass='123'
    172.2.0.231  ansible_ssh_port=8997
    ##可以指定端口,用户名,密码和sudo密码
    
    

    使用sudo 加上-s
    ansible 192.168.6.220 -s -m command -a "mkdir /root/dd.txt"

    二 配置文件如何加密解密

    # 加密
    sudo ansible-vault encrypt /etc/ansible/hosts
    
    # 解密
    sudo ansible-vault decrypt /etc/ansible/hosts
    
    ##如何引用加密的文件,加-i 指定你文件的路径
    sudo ansible test --ask-vault-pass -i /etc/ansible/hosts  -m command -a 'date'  #需要输入密码
    
    

    三 设置在ploybook执行过程中显示所需时间

    vim /etc/ansible/ansible.cfg
    callback_whitelist= profile_tasks
    然后执行ansible-playbook就显示时间了
    
    

    如图:

    四 亚马逊机器如何使用ansible

    背景说明:亚马逊机器默认root用户禁止登录,并且是使用证书登录机器的,现在我想使用ansible批量操作机器,安装一个软件,但是默认只有root用户才可以安装,在不允许root用户登录的情况下,如何使用普通用户安装软件

    安装脚本,在脚本里面切换root用户进行安装

    sudo su root -c "cd /usr/share/fonts/Arial/windows/ && unzip front.zip"
    
    sudo su root -c "sed -i '25 s#^#<dir>/usr/share/fonts/Arial/windows</dir>#' /etc/fonts/fonts.conf"
    
    sudo su root -c "fc-cache fv"
    
    

    然后执行即可 ansible app -m shell -a "/tmp/front.sh"

    五 ansible参数介绍

    -a MODULE_ARGS   #模块的参数,如果执行默认COMMAND的模块,即是命令参数,如: “date”,“pwd”等等
    -k,--ask-pass #ask for SSH password。登录密码,提示输入SSH密码而不是假设基于密钥的验证
    --ask-su-pass #ask for su password。su切换密码
    -K,--ask-sudo-pass #ask for sudo password。提示密码使用sudo,sudo表示提权操作
    --ask-vault-pass #ask for vault password。假设我们设定了加密的密码,则用该选项进行访问
    -B SECONDS #后台运行超时时间
    -C #模拟运行环境并进行预运行,可以进行查错测试
    -c CONNECTION #连接类型使用
    -f FORKS #并行任务数,默认为5
    -i INVENTORY #指定主机清单的路径,默认为/etc/ansible/hosts
    --list-hosts #查看有哪些主机组
    -m MODULE_NAME #执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数
    -o #压缩输出,尝试将所有结果在一行输出,一般针对收集工具使用
    -S #用 su 命令
    -R SU_USER #指定 su 的用户,默认为 root 用户
    -s #用 sudo 命令
    -U SUDO_USER #指定 sudo 到哪个用户,默认为 root 用户
    -T TIMEOUT #指定 ssh 默认超时时间,默认为10s,也可在配置文件中修改
    -u REMOTE_USER #远程用户,默认为 root 用户
    -v #查看详细信息,同时支持-vvv,-vvvv可查看更详细信息
    
    

    六用普通用户去执行脚本没权限怎么办

    报错信息:
    /tmp/mail.sh: line 1: /etc/mail.rc: Permission deniednon-zero return code

    sudo ansible java -m shell -a 'sudo su root -c "/tmp/ssl.sh"'
    就是在执行脚本的时候前面加上sudo su root即可
    
  • 相关阅读:
    【技术评网】说说豆瓣的URL设计
    在这一刻,还是忍不住满眼泪水
    装Sybase,装WAS 6.1的时候报错java.exe损坏的图象
    JasperRepor导出报表通用类
    XSS跨站攻击
    sql 脚本
    解决在无线网络下本机无法连接linux(红帽)虚拟机问题
    pl /sql导入导出表结构,表数据,sql脚本
    asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。
    MQ命令学习总结大全MQ常用命令
  • 原文地址:https://www.cnblogs.com/huningfei/p/12739683.html
Copyright © 2020-2023  润新知