目录
[设置组的 GID](#设置组的 GID)
[修改组的 GID](#修改组的 GID)
[删除指定 GID 的用户组](#删除指定 GID 的用户组)
[1. 创建用户组](#1. 创建用户组)
[2. 删除用户组](#2. 删除用户组)
[1. 修改组的 GID](#1. 修改组的 GID)
[2. 综合管理多个用户组](#2. 综合管理多个用户组)
[3. 创建用户组并附加其他组属性](#3. 创建用户组并附加其他组属性)
group
模块用于管理系统中的用户组。它可以创建、修改和删除用户组,以及为组设置特定的属性。在 YAML Playbook 和命令行中都可以使用这个模块来进行组管理。下面是 group
模块的一些常见用法示例:
参数总结
-
name
:- 描述:要管理的组的名称。
- 类型:字符串
- 必需:是
-
gid
:- 描述:设置组的 GID。
- 类型:整数
-
state
:- 描述:组的目标状态。
- 可选值:
present
:确保组存在absent
:确保组不存在
- 类型:字符串
- 默认值:
present
-
system
:- 描述:如果为
yes
,则创建系统组。 - 类型:布尔值
- 默认值:
no
- 描述:如果为
-
local
:- 描述:如果为
yes
,则仅在本地管理组,不进行 LDAP 等集中式管理。 - 类型:布尔值
- 默认值:
no
- 描述:如果为
语法示例
创建用户组
创建一个名为 developers
的组:
ansible all -m group -a "name=developers state=present"
删除用户组
删除名为 developers
的组:
ansible all -m group -a "name=developers state=absent"
设置组的 GID
创建一个名为 staff
且 GID 为 1050
的组:
ansible all -m group -a "name=staff gid=1050 state=present"
创建系统组
创建一个名为 sysadmins
的系统组:
ansible all -m group -a "name=sysadmins system=yes state=present"
修改组的 GID
修改现有组 developers
的 GID 为 2000
:
ansible all -m group -a "name=developers gid=2000 state=present"
添加用户组并附加其他组属性
创建一个名为 admins
的组,并确保其他属性:
ansible all -m group -a "name=admins gid=1500 system=yes state=present"
删除指定 GID 的用户组
删除 GID 为 1002
的组:
ansible all -m group -a "gid=1002 state=absent"
帮助信息
查看 group
模块的帮助信息:
ansible-doc group
Playbook示例
基本示例
1. 创建用户组
创建一个名为 developers
的组:
---
- name: Create a group named developers
hosts: all
tasks:
- name: Create group developers
group:
name: developers
state: present
2. 删除用户组
删除名为 developers
的组:
---
- name: Remove a group named developers
hosts: all
tasks:
- name: Remove group developers
group:
name: developers
state: absent
- 设置组的 GID
创建一个名为 staff
且 GID 为 1050
的组:
---
- name: Create a group named staff with GID 1050
hosts: all
tasks:
- name: Create group staff with GID 1050
group:
name: staff
gid: 1050
state: present
- 创建系统组
创建一个名为 sysadmins
的系统组:
---
- name: Create a system group named sysadmins
hosts: all
tasks:
- name: Create system group sysadmins
group:
name: sysadmins
system: yes
state: present
进阶示例
1. 修改组的 GID
修改名为 developers
的组的 GID 为 2000
:
---
- name: Change GID of the group developers
hosts: all
tasks:
- name: Update GID of developers group to 2000
group:
name: developers
gid: 2000
state: present
2. 综合管理多个用户组
同时创建、修改和删除多个用户组:
---
- name: Comprehensive management of user groups
hosts: all
tasks:
- name: Create group developers
group:
name: developers
state: present
- name: Create group staff with GID 1050
group:
name: staff
gid: 1050
state: present
- name: Create system group sysadmins
group:
name: sysadmins
system: yes
state: present
- name: Remove group oldgroup
group:
name: oldgroup
state: absent
3. 创建用户组并附加其他组属性
创建一个名为 admins
的组,并确保其他属性:
---
- name: Create and configure admins group
hosts: all
tasks:
- name: Ensure group admins exists with GID 1500 as a system group
group:
name: admins
gid: 1500
system: yes
state: present
综合示例如下:
---
- name: Comprehensive management of user groups
hosts: all
tasks:
- name: Create group developers
group:
name: developers
state: present
- name: Create group staff with GID 1050
group:
name: staff
gid: 1050
state: present
- name: Create system group sysadmins
group:
name: sysadmins
system: yes
state: present
- name: Remove group oldgroup
group:
name: oldgroup
state: absent
- name: Change GID of group developers to 2000
group:
name: developers
gid: 2000
state: present