天天看點

ansible的系統子產品<8>user:group;

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

user:

ansible的系統子產品<8>user:group;
ansible的系統子產品<8>user:group;
ansible的系統子產品<8>user:group;
ansible test177 -m user -a 'name=sazhuo'           

上面的指令表示在177上建立一個使用者名sazhuo的使用者,我們來看一下177上到底有沒有

ansible的系統子產品<8>user:group;
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>user:group;
ansible test177 -m user -a 'name=sa groups=root append=yes'           

給使用者sa添加一個附加組root,附加組可以有多個用逗号隔開就行,append參數是在不确定有沒有這個組的情況下添加,如果有這個組就不添加,如果沒有就添加,我們來看是不是多了一個附加組

ansible的系統子產品<8>user:group;

我們看到後面多了一個root附加組

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

以上的指令表示把使用者sa的預設shell修改為/bin/csh,原來是/bin/bash

ansible的系統子產品<8>user:group;

可以看到sa的shell已經變為了csh

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

指定使用者的uid為2000,來看一下uid有沒有變

ansible的系統子產品<8>user:group;
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>user:group;

比方說我們要修改使用者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>user: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