您的位置:首页 > 科技 > IT业 > 网络营销简称叫什么_百度用户服务中心在线申诉_网店推广方法_自助建站网站哪个好

网络营销简称叫什么_百度用户服务中心在线申诉_网店推广方法_自助建站网站哪个好

2024/12/23 15:36:26 来源:https://blog.csdn.net/qq_50655286/article/details/144082160  浏览:    关键词:网络营销简称叫什么_百度用户服务中心在线申诉_网店推广方法_自助建站网站哪个好
网络营销简称叫什么_百度用户服务中心在线申诉_网店推广方法_自助建站网站哪个好
一、ansible角色(ansible-galaxy)
二、ansible加密解密(ansible-vault)
三、ansible实现sudo提权   
四、特殊的主机清单变量一、Ansible角色Roles产生原因在实际生产环境中,为了实现不同功能,我们会编写大量的Playbook文件每个Playbook文件可能还会调用其他文件,如变量文件对于海量的、无规律的文件,管理起来是一件非常困难的事情1.什么是Roles:层次性、结构化的目录结构	(1)角色初始化:anisble-galaxy init roles/motd(2)列出已有角色:ansible-galaxy list(3)目录结构--roles目录--各种角色--角色的目录files/   tasks/     vars/      meta/      default/  templates/  handlers/main.yml  main.yml   main.yml    main.yml               main.yml1)files目录存放上传的文件(例如copy模块或script模块调用的文件)2)templates目录存放Jinja2模板文件(当使用template模块时)3)tasks目录角色的任务列表。main.yml文件可以使用include指令包含其他位于此目录中的task文件。4)handlers目录触发条件时执行的动作5)vars目录(优先级高)定义角色变量6)defaults目录定义角色默认变量。当没有在vars目录中定义变量时,会使用defaults目录中的默认变量7)meta目录作者邮箱等信息8)README二、Ansible加密解密(ansible-vault)(1)对文件加密:加密后文件内容变成秘文(2)--vault-password-file:指定密码文件,对文件加密,解密,将密码写在密码文件里面(3)--ask-vault-password:执行加密的剧本提示输入密码(1)对文件加密ansible-vault decrypt hello.txt ## 常用选项encrypt:加密decrypt:解密view:查看rekey:重置密码(2)--vault-password-file:指定密码文件,对文件加密解密echo "tedu.cn" > pass.txt		echo "Hello Linux" > data.txtansible-vault encrypt --vault-password-file=pass.txt data.txt (3)--ask-vault-password:执行加密的剧本ansible-vault encrypt user_test.yml ansible-playbook --ask-vault-password user_test.yml Vault password: 123456三、ansible实现sudo提权 1.普通sudo提权配置方式(修改/etc/sudoers文件)(1)格式:用户名或组名(%groupname) 在集中认证域中有效,单机忽略      可以执行的命令列表用户/%组                 ALL=(ALL)           NOPASSWD:ALL(所有权限都没密码)(2)例子:给用户提权zs,lisi ALL=(ALL) /usr/sbin/useradd, /usr/sbin/usermod -G somegroup2.ansible实现sudo提权(1)# 被控节点创建用户并配置sudo提权[root@pubserver ansible]# vim sudouser.yml ---- name: sudo userhosts: alltasks:- name: create sudo useruser:name: alicepassword: "{{'123456'|password_hash('sha512')}}"state: present- name: config sudolineinfile:path: /etc/sudoersline: "alice ALL=(ALL) NOPASSWD: ALL"state: present(2)# 修改ansible配置文件[root@pubserver ansible]# vim ansible.cfg [defaults]inventory = inventoryhost_key_checking = falsemodule_name = shellnocows = trueroles_path = ./rolesremote_user = alice[privilege_escalation]become = truebecome_method = sudobecome_user = rootbecome_ask_pass = false(3)# 配置ssh使用alice用户免密登录,alice密码123456[root@pubserver ansible]# for i in web1 web2 db1dossh-copy-id alice@$idone(4)# 测试:ansible all -m ping四、特殊的主机清单变量如某个被控节点不能"免密登录"(登录必须要密码)、ssh服务端口不是标准22端口等情况则需要配置特殊的主机清单变量## 常用配置ansible_ssh_host:指定被控节点服务器IP地址ansible_ssh_user:指定登陆远程主机的用户名ansible_ssh_pass:指定登陆远程主机的密码ansible_ssh_port:指定登陆远程主机的端口号1.操作演示(1)# 调整web1主机配置用于测试[root@web1 ~]# rm -rf /root/.ssh/authorized_keys            #清理公钥恢复密码登录[root@web1 ~]# systemctl disable --now firewalld            #关闭防火墙[root@web1 ~]# vim +17 /etc/ssh/sshd_config                 #配置ssh端口为2222Port 2222[root@web1 ~]# systemctl restart sshd                       #重启sshd服务# 调整pubserver的hosts文件注释web1主机名解析[root@pubserver ansible]# vim /etc/hosts...#192.168.88.11  web1ssh web1 -p 2222(2)# 配置特殊的主机清单变量[root@pubserver myansible]# vim inventory [group1]web1 ansible_ssh_host=192.168.88.11 ansible_ssh_port=2222 ansible_ssh_user=root ansible_ssh_pass=aweb2db1# 测试特殊的主机清单变量,可以成功[root@pubserver myansible]# ansible all -m ping

一、ansible角色(ansible-galaxy)
二、ansible加密解密(ansible-vault)
三、ansible实现sudo提权   
四、特殊的主机清单变量

       
一、Ansible角色
    Roles产生原因
    在实际生产环境中,为了实现不同功能,我们会编写大量的Playbook文件
    每个Playbook文件可能还会调用其他文件,如变量文件
    对于海量的、无规律的文件,管理起来是一件非常困难的事情
        
1.什么是Roles:层次性、结构化的目录结构    
     
    (1)角色初始化:
        anisble-galaxy init roles/motd
       
    (2)列出已有角色:
        ansible-galaxy list
    
    (3)目录结构
        --roles目录
           --各种角色
            --角色的目录
    files/   tasks/     vars/      meta/      default/  templates/  handlers/
          main.yml  main.yml   main.yml    main.yml               main.yml
            
    1)files目录
        存放上传的文件(例如copy模块或script模块调用的文件)
       
    2)templates目录
        存放Jinja2模板文件(当使用template模块时)
       
    3)tasks目录
        角色的任务列表。main.yml文件可以使用include指令包含其他位于此目录中的task文件。
       
    4)handlers目录
        触发条件时执行的动作
        
    5)vars目录(优先级高)
        定义角色变量
       
    6)defaults目录
        定义角色默认变量。当没有在vars目录中定义变量时,会使用defaults目录中的默认变量
       
    7)meta目录
        作者邮箱等信息
    
    8)README

    
二、Ansible加密解密(ansible-vault)
    (1)对文件加密:加密后文件内容变成秘文
    (2)--vault-password-file:指定密码文件,对文件加密,解密,将密码写在密码文件里面
    (3)--ask-vault-password:执行加密的剧本提示输入密码

    (1)对文件加密
        ansible-vault decrypt hello.txt 

    ## 常用选项
        encrypt:加密
        decrypt:解密
        view:查看
        rekey:重置密码

        

    (2)--vault-password-file:指定密码文件,对文件加密解密

        echo "tedu.cn" > pass.txt        
        echo "Hello Linux" > data.txt
        ansible-vault encrypt --vault-password-file=pass.txt data.txt 
        
    (3)--ask-vault-password:执行加密的剧本

        ansible-vault encrypt user_test.yml 
        ansible-playbook --ask-vault-password user_test.yml 
        Vault password: 123456


三、ansible实现sudo提权 

    1.普通sudo提权配置方式(修改/etc/sudoers文件)

        (1)格式:
            用户名或组名(%groupname) 在集中认证域中有效,单机忽略      可以执行的命令列表
               用户/%组                 ALL=(ALL)           NOPASSWD:ALL(所有权限都没密码)

        (2)例子:给用户提权
            zs,lisi ALL=(ALL) /usr/sbin/useradd, /usr/sbin/usermod -G somegroup

    2.ansible实现sudo提权

        (1)# 被控节点创建用户并配置sudo提权
            [root@pubserver ansible]# vim sudouser.yml 
            ---
            - name: sudo user
              hosts: all
              tasks:
                - name: create sudo user
                  user:
                    name: alice
                    password: "{{'123456'|password_hash('sha512')}}"
                    state: present
                - name: config sudo
                  lineinfile:
                    path: /etc/sudoers
                    line: "alice ALL=(ALL) NOPASSWD: ALL"
                    state: present

        (2)# 修改ansible配置文件
            [root@pubserver ansible]# vim ansible.cfg 
                [defaults]
                inventory = inventory
                host_key_checking = false
                module_name = shell
                nocows = true
                roles_path = ./roles
                remote_user = alice

                [privilege_escalation]
                become = true
                become_method = sudo
                become_user = root
                become_ask_pass = false
        
        (3)# 配置ssh使用alice用户免密登录,alice密码123456
            [root@pubserver ansible]# for i in web1 web2 db1
                 do
                 ssh-copy-id alice@$i
                 done
        
        (4)# 测试:ansible all -m ping
        

四、特殊的主机清单变量
    如某个被控节点不能"免密登录"(登录必须要密码)、ssh服务端口不是标准22端口等情况
    则需要配置特殊的主机清单变量

    ## 常用配置
        ansible_ssh_host:指定被控节点服务器IP地址
        ansible_ssh_user:指定登陆远程主机的用户名
        ansible_ssh_pass:指定登陆远程主机的密码
        ansible_ssh_port:指定登陆远程主机的端口号

    1.操作演示
    (1)# 调整web1主机配置用于测试
    [root@web1 ~]# rm -rf /root/.ssh/authorized_keys            #清理公钥恢复密码登录
    [root@web1 ~]# systemctl disable --now firewalld            #关闭防火墙
    [root@web1 ~]# vim +17 /etc/ssh/sshd_config                 #配置ssh端口为2222
    Port 2222
    [root@web1 ~]# systemctl restart sshd                       #重启sshd服务
    
    # 调整pubserver的hosts文件注释web1主机名解析
    [root@pubserver ansible]# vim /etc/hosts
    ...
    #192.168.88.11  web1
    
    ssh web1 -p 2222

    (2)# 配置特殊的主机清单变量
    [root@pubserver myansible]# vim inventory 
    [group1]
    web1 ansible_ssh_host=192.168.88.11 ansible_ssh_port=2222 ansible_ssh_user=root ansible_ssh_pass=a
    web2
    db1

    # 测试特殊的主机清单变量,可以成功
    [root@pubserver myansible]# ansible all -m ping


        

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com