運維自動化神器ansible之group模塊


 

ansible之group模塊

group模塊是用來添加或者刪除組

 

首先使用ansible-doc來查看用法

[root@note0 ansible]# ansible-doc -s group
- name: Add or remove groups
  group:
      gid:                   # Optional `GID' to set for the group.
      local:                 # Forces the use of "local" command alternatives on platforms that implement it. This is useful in environments that use centralized
                               authentication when you want to manipulate the local groups. (e.g. it uses `lgroupadd' instead of
                               `groupadd'). This requires that these commands exist on the targeted host, otherwise it will be a fatal
                               error.
      name:                  # (required) Name of the group to manage.
      non_unique:            # This option allows to change the group ID to a non-unique value. Requires `gid'. Not supported on macOS or BusyBox distributions.
      state:                 # Whether the group should be present or not on the remote host.
      system:                # If `yes', indicates that the group created is a system group.

 

 

通過上面的參數列表我們可以了解到group模塊有幾個重要屬性

OPTIONS (= is mandatory):選項前面為=的為必填參數

 

一、name

= name
        Name of the group to manage.

        type: str

 要操作的group的組名,string類型,必填項

 

用法

[root@note0 ~]# ansible local -m group -a "name=test"
176.16.128.1 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true,  #可以看到changed狀態為true,代表已經在主機添加組成功。
    "gid": 1000, 
    "name": "test", 
    "state": "present", 
    "system": false
}

 

查看主機/etc/group文件驗證

[root@note1 ~]# cat /etc/group
test:x:1000:

 

二、state

- state
        Whether the group should be present or not on the remote host.
        (Choices: absent, present)[Default: present]
        type: str

state用於指定用戶組在遠程主機上是否被更改或刪除,string類型。

有兩個選項:absent,present。默認值為present,absent為刪除組。

 

用法,我們來刪除一下剛才創建的組

[root@note0 ~]# ansible local -m group -a "name=test state=absent"
176.16.128.1 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "name": "test", 
    "state": "absent"
}

 

三、gid

- gid
        Optional `GID' to set for the group.
        [Default: (null)]
        type: int

gid用於設定用戶組gid,int類型,默認值為空

 

用法

[root@note0 ~]# ansible local -m group -a "name=test gid=1005 state=present"
176.16.128.1 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "gid": 1005, 
    "name": "test", 
    "state": "present", 
    "system": false
}

 

查看主機/etc/group文件

[root@note1 ~]# cat /etc/group
test:x:1005:

 我們可以新創建的組gid為1005

 

四、system

- system
        If `yes', indicates that the group created is a system group.
        [Default: False]
        type: bool

system用於指定創建的用戶組是否為系統組,布爾類型,可用選項false,true,默認為false

 

用法

[root@note0 ~]# ansible local -m group -a "name=test state=present system=true"
176.16.128.1 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "gid": 994, 
    "name": "test", 
    "state": "present", 
    "system": true
}

 

查看主機/etc/group文件驗證

[root@note1 ~]# cat /etc/group
test:x:994:

可以看到test組的gid為994,gid小於1000為系統組。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM