ansible的系统模块<8>

今天我们来学习一下ansible的系统模块的其他两个模块user和group模块,顾名思义,user可以帮我们在远程主机上添加用户,删除,更改,为用户创建密钥等操作,group是针对于组来说,可以更改组,删除组,更改组id等

user:

ansible的系统模块<8>
ansible的系统模块<8>
ansible的系统模块<8>

ansible test177 -m user -a 'name=sazhuo'

上面的命令表示在177上创建一个用户名sazhuo的用户,我们来看一下177上到底有没有
ansible的系统模块<8>

ansible test177 -m user -a 'name=sazhuo state=absent'

表示删除这个用户,但是不删除这个用户的家目录

ansible test177 -m user -a 'name=sazhuo state=absent remove=yes'

删除用户的同时家目录也会删除

ansible test177 -m user -a 'name=sa group=zabbix'

把在177上的sa用户的用户组更改为zabbix,默认的话sa的用户组就是sa,来看一下效果:
ansible的系统模块<8>

ansible test177 -m user -a 'name=sa groups=root append=yes'

给用户sa添加一个附加组root,附加组可以有多个用逗号隔开就行,append参数是在不确定有没有这个组的情况下添加,如果有这个组就不添加,如果没有就添加,我们来看是不是多了一个附加组
ansible的系统模块<8>
我们看到后面多了一个root附加组

ansible test177 -m user -a 'name=sa shell=/bin/csh'

以上的命令表示把用户sa的默认shell修改为/bin/csh,原来是/bin/bash
ansible的系统模块<8>
可以看到sa的shell已经变为了csh

ansible test177 -m user -a 'name=sa uid=2000'

指定用户的uid为2000,来看一下uid有没有变
ansible的系统模块<8>

ansible test177 -m user -a 'name=sa expires=1534867200'

表示指定sa这个用户的过期时间为2018-08-22,expires后面跟的是时间戳,可以用date -d 2018-08-22 +%s获得

ansible test177 -m user -a 'name=sa comment="sazhuo"'

指定用户的注释信息为sazhuo,我们来看一下:
ansible的系统模块<8>
比方说我们要修改用户sa的密码,首先要生成密码,然后再去设置:

[root@sazhuo ~]# python;
Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt;crypt.crypt('333333')
'$6$ovNGDERbTfc.sgpr$0PZAbMUJQPc16ur7IdH848pzjYPux18lNlusujvfpKFhKpxsT4E9z47qFiD/XXqxaVTHgVCu/RBKCIIaylKT4/'
>>> 
[root@sazhuo ~]# ansible test177 -m user -a 'name=sa password="$6$ovNGDERbTfc.sgpr$0PZAbMUJQPc16ur7IdH848pzjYPux18lNlusujvfpKFhKpxsT4E9z47qFiD/XXqxaVTHgVCu/RBKCIIaylKT4/"'
test177 | SUCCESS => {
    "append": false, 
    "changed": true, 
    "comment": "sazhuo", 
    "group": 499, 
    "home": "/home/sa", 
    "move_home": false, 
    "name": "sa", 
    "password": "NOT_LOGGING_PASSWORD", 
    "shell": "/bin/csh", 
    "state": "present", 
    "uid": 2000
}

首先进入python环境生成一个密码333333对应的密码序列,复制这个序列,执行设置密码的时候在password下粘贴,就会设置成功,如果我们复制错误的时候怎么办,update_password=on_create将这个命令跟在我的执行命令后面,意思是当生成密码和执行密码不一致的时候不做任何操作

group;

ansible的系统模块<8>

ansible test177 -m group -a 'name=zabbix'

确保存在zabbix组

ansible test177 -m group -a 'name=zabbix state=absent'

删除这个组,删除的前提是不能有用户把被删除的组当做主组

ansible test177 -m group -a 'name=sa gid=1000'

修改这个组的gid为1000

上一篇:iptables杂记


下一篇:keepalived原理