Ansible——group模块

目录

参数总结

语法示例

创建用户组

删除用户组

[设置组的 GID](#设置组的 GID)

创建系统组

[修改组的 GID](#修改组的 GID)

添加用户组并附加其他组属性

[删除指定 GID 的用户组](#删除指定 GID 的用户组)

帮助信息

Playbook示例

基本示例

[1. 创建用户组](#1. 创建用户组)

[2. 删除用户组](#2. 删除用户组)

进阶示例

[1. 修改组的 GID](#1. 修改组的 GID)

[2. 综合管理多个用户组](#2. 综合管理多个用户组)

[3. 创建用户组并附加其他组属性](#3. 创建用户组并附加其他组属性)


group 模块用于管理系统中的用户组。它可以创建、修改和删除用户组,以及为组设置特定的属性。在 YAML Playbook 和命令行中都可以使用这个模块来进行组管理。下面是 group 模块的一些常见用法示例:

参数总结

  1. name:

    • 描述:要管理的组的名称。
    • 类型:字符串
    • 必需:是
  2. gid:

    • 描述:设置组的 GID。
    • 类型:整数
  3. state:

    • 描述:组的目标状态。
    • 可选值:
      • present:确保组存在
      • absent:确保组不存在
    • 类型:字符串
    • 默认值:present
  4. system:

    • 描述:如果为 yes,则创建系统组。
    • 类型:布尔值
    • 默认值:no
  5. 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
  1. 设置组的 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
  1. 创建系统组

创建一个名为 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
相关推荐
steins_甲乙1 小时前
# 从 0 做一个小型内存泄漏检测器:开篇与架构设计
linux
蒸蒸yyyyzwd2 小时前
后端学习笔记 day4
linux·笔记·学习
upp2 小时前
[最新版本centos 10系统制作与安装]
linux·运维·centos
ShineWinsu3 小时前
对于Linux:进程优先级、进程切换以及进程调度的解析
linux·面试·笔试·进程·进程切换·进程调度·进程优先级
Kira Skyler4 小时前
kprobe函数入口时的汇编跳板执行流程与栈帧机制
linux·汇编
桌面运维家4 小时前
VHD/VHDX 数据守护:BAT位图校验与修复
linux·服务器·网络
pupudawang4 小时前
Linux下安装Nginx服务及systemctl方式管理nginx详情
linux·运维·nginx
零K沁雪4 小时前
Linux 内核遍历宏介绍
linux·内核
淼淼爱喝水5 小时前
openEuler 下 Ansible 基础命令详解与实操演示2
linux·运维·windows
拾贰_C5 小时前
【Ubuntu | install | 安装软件】 Ubuntu软件安装多种方式以及卸载
linux·运维·ubuntu