ansible的六个常用模块

- shell模块:
sudo提权:
首先在116上面:
useradd user
visudo加上user ALL=(ALL) ALL
运行ansible,加上普通用户和提权用户root,k是普通用户密码,K是提权用户密码:
[root@localhost ~]# ansible 192.168.3.116 -m shell -a "ls /root" -uuser -k --become --become-user root -K
SSH password:
BECOME password[defaults to SSH password]:
192.168.3.116 | CHANGED | rc=0 >>
anaconda-ks.cfg
apache-maven-3.5.0
apache-maven-3.5.0-bin.tar.gz
apache-tomcat-8.5.59.tar.gz
jdk-8u45-linux-x64.tar.gz
也可以把K换成ask-become-pass,效果一样:
[root@localhost ~]# ansible 192.168.3.116 -m shell -a "ls /root" -uuser -k --become --become-user root --ask-become-pass
SSH password:
BECOME password[defaults to SSH password]:
192.168.3.116 | CHANGED | rc=0 >>
anaconda-ks.cfg
apache-maven-3.5.0
apache-maven-3.5.0-bin.tar.gz
- copy模块:

- file模块:
新建目录,如果目录存在就修改权限:

删除目录:

创建文件:

修改文件属性:

- yum模块:

- user模块:
删除用户

创建用户

创建不能直接登录的用户:

git模块:
拉取代码:
首先在目标主机用yum装git:

- service模块:
设置开机启动:

service模块启动服务(也可以用restarted,stopped):

- setup模块:
收集目标主机信息:

filter后面的变量是上一条语句的输出信息获取到的:

通配符*获取:

浙公网安备 33010602011771号