今天我們來學習一下ansible的系統子產品的其他兩個子產品user和group子產品,顧名思義,user可以幫我們在遠端主機上添加使用者,删除,更改,為使用者建立密鑰等操作,group是針對于組來說,可以更改組,删除組,更改組id等
user:

ansible test177 -m user -a 'name=sazhuo'
上面的指令表示在177上建立一個使用者名sazhuo的使用者,我們來看一下177上到底有沒有
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 test177 -m user -a 'name=sa groups=root append=yes'
給使用者sa添加一個附加組root,附加組可以有多個用逗号隔開就行,append參數是在不确定有沒有這個組的情況下添加,如果有這個組就不添加,如果沒有就添加,我們來看是不是多了一個附加組
我們看到後面多了一個root附加組
ansible test177 -m user -a 'name=sa shell=/bin/csh'
以上的指令表示把使用者sa的預設shell修改為/bin/csh,原來是/bin/bash
可以看到sa的shell已經變為了csh
ansible test177 -m user -a 'name=sa uid=2000'
指定使用者的uid為2000,來看一下uid有沒有變
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,我們來看一下:
比方說我們要修改使用者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 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