Ansible自动化运维中的User用户管理模块应用详解

作者主页:点击! 

Ansible专栏:点击!

创作时间:2024年5月14日14点12分


在Ansible中,user 模块主要用于管理系统用户账户。它可以创建、修改、删除用户,并管理用户的属性,比如密码、组、家目录等。这个模块是非常有用的,尤其是在配置多个系统时,可以确保所有系统上的用户账户配置都是一致的。

user模块的作用

主要作用包括:

  1. 创建用户

    • 自动创建用户,并设置用户的各种属性,如UID、家目录、登录Shell等。
    • 适用于新部署的系统或添加新用户到已存在的系统。
  2. 修改用户

    • 修改现有用户的属性,如更改用户的密码、主组、附加组、家目录等。
    • 用于更新用户配置或确保用户设置符合最新的安全政策。
  3. 删除用户

    • 删除系统中的用户账户,可选是否同时删除用户的家目录及其邮件目录。
    • 常用于清理不再需要的用户账户。
  4. 用户状态管理

    • 确保用户在系统中的存在或不存在状态,有助于保持环境的一致性和预期的配置状态。

Auser模块的应用场景

应用场景

  • 配置管理:在多个环境中确保所有系统的用户配置一致。
  • 安全合规:按照安全政策自动配置用户属性,如密码策略和访问控制。
  • 自动化部署:在自动部署过程中创建和配置所需的用户账户。
  • 系统维护:定期更新或删除用户账户,确保系统清洁和安全。

主要参数

参数名描述默认值
name指定用户的名字
state确定用户的状态。可选值: present, absent
password用户的密码(加密后的字符串)
uid用户的UID
gid用户的主组ID
groups用户所属的其他组
home用户的家目录
shell用户的默认shell
system如果设置为yes,则创建一个系统账户no
createhome是否创建家目录,默认为yesyes
remove在删除用户时,是否同时删除家目录和邮件目录no

示例

创建一个新用户:

- name: Create a new user
  user:
    name: john
    state: present
    groups: "wheel,developers"
    createhome: yes
    shell: /bin/bash

修改用户属性:

- name: Modify a user
  user:
    name: john
    shell: /bin/zsh
    groups: "wheel,developers,sudo"
    append: yes  # 添加到现有组,而不是替换现有组

删除用户:

- name: Remove a user
  user:
    name: john
    state: absent
    remove: yes  # 同时删除用户的家目录和邮件目录

通过使用这些参数和选项,你可以通过Ansible自动管理系统的用户配置,确保在各个环境之间的一致性和安全性。

实验要求

通过一台ansible服务器来给两服务器操作(调用user模块实现)

1.增加主机组

通过以下配置就是创建一个webServers组 并且加入两个主机 再给组赋予变量 用户名和密码 这样组下的所有主机都可以访问 更加的便捷

2.创建用户
[root@ansible ~]# ansible webServers -m user -a 'name=ok state=present'
  • webServers: 指定主机组的名称。在这个示例中,它可能代表一个或多个Web服务器。
  • -m user: 指定使用 user 模块,该模块用于管理用户账户。
  • -a 'name=ok state=present': 模块参数。name=ok 指定用户名称为 okstate=present 确保用户存在

客户端查看

112服务器,ok用户创建成功

113服务器,ok用户创建成功

明显上面都已经创建成功

3.生成密码

通过openssl给5201314生成密文密码

接下来我们使用密文密码来给用户添加密码(因为/etc/passwd中存储的密码都是密文的)

[root@ansible ~]# echo '5201314' | openssl passwd -1 -stdin
$1$lNgUPHGc$K9.m7Fva0MmsAPEeP3CPz0

运行一个命令以在 Linux 上生成 openssl 哈希密码。您使用的命令使用 MD5 函数将字符串“5201314”转换为哈希密码。

传递密码
[root@ansible ~]# ansible webServers -m user -a 'name=ok password="$1$lNgUPHGc$K9.m7Fva0MmsAPEeP3CPz0"'

  • name=ok :定义将要创建或修改的用户的名称。
  • password="$1$lNgUPHGc$K9.m7Fva0MmsAPEeP3CPz0" :设置用户的密码。该值是预先生成的密码哈希,在本例中,它似乎是用于身份验证的 MD5 哈希。

创建成功

调用密码

输入新的用户名和密码登录

这边登录成功查看目录 在家目录下的ok

修改用户shell

[root@ansible ~]# ansible webServers -m user -a 'name=ok shell=/sbin/nologin append=yes'

shell=/sbin/nologin :将用户 shell 设置为 /sbin/nologin ,有效阻止用户以交互方式登录系统。这通常用于不应直接访问 shell 的服务帐户或系统帐户。

这时候我们修改了他的登录shell

这个用户就没办法正常的登录进去了

4.删除用户
[root@ansible ~]# ansible webServers -m user -a 'name=ok state=absent'

客户端查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/627384.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深⼊理解指针(5)

目录 1. 回调函数是什么?1.1 使用回调函数修改 2. qsort使⽤举例2.1 使⽤qsort函数排序整型数2.2 使⽤qsort排序结构数据按年龄排序2.3 使⽤qsort排序结构数据按名字排序2.4整体代码 3. qsort函数的模拟实现3.1 整型数组的实现3.2 结构体按名字排序实现3.3 结构体按…

Element Plus组件库使用组件自动导入后样式不生效的问题

首先按照官方文档上的介绍进行配置&#xff1a;快速开始 | Element Plus (element-plus.org) 配置完成后&#xff0c;去组件中去测试组件库中的button组件的样式是否生效 <template><el-button type"primary">Primary</el-button> </template&…

从源头到洞察:大数据时代的数据提取与分析实战指南

随着科技的飞速发展&#xff0c;大数据已经成为现代社会的核心驱动力之一。从商业决策到科学研究&#xff0c;从政策制定到个人生活&#xff0c;数据无处不在&#xff0c;影响着我们的每一个决策。然而&#xff0c;如何从海量的数据中提取有价值的信息&#xff0c;并转化为深刻…

一对一WebRTC视频通话系列(六)——部署到公网

本系列博客主要记录一对一WebRTC视频通话实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感…

Milvus 安装与配置

一、环境准备 在安装 Milvus 之前&#xff0c;确保你的系统满足以下要求&#xff1a; 操作系统&#xff1a;Milvus 支持 Linux 操作系统&#xff0c;如 Ubuntu、CentOS 等。硬件资源&#xff1a;推荐使用具有足够 CPU、内存和 SSD 存储的机器。对于大规模数据集&#xff0c;高…

环境光遮蔽技术在AI去衣应用中的创新探索

引言&#xff1a; 随着计算机视觉和人工智能技术的飞速发展&#xff0c;AI去衣技术逐渐走进公众视野。这一技术以其独特的应用前景和技术挑战引起了广泛的关注。在实现衣物去除的同时保持图像质量的关键技术之一&#xff0c;便是环境光遮蔽技术。本文将深入探讨环境光遮蔽技术在…

Python轻量级Web框架Flask(14)—— 自己做Flask项目总结

0、前言&#xff1a; 本文意在记录自己在做毕业Flask项目开发时遇到的一些问题&#xff0c;并将问题解决方案记录下来&#xff0c;可做日后查询本文也会记录自己做FLask项目时实现的一些功能&#xff0c;作为开发工作的进程记录注意&#xff1a;用Flask开发的前提是已经设计好…

【Git】Git学习-12:关联本地仓库和远程仓库

学习视频链接&#xff1a;【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 在github上建立仓库 根据指引将本地仓库push到github上 git remote add origin gitgithub.com:JVZO/f…

开发业务当中的金额到底是用Long还是BigDecimal?

在网上一直流传着一个争论不休的话题&#xff1a;金额到底是用Long还是用BigDecimal&#xff1f;这个话题一出在哪都会引起异常无比激烈的讨论。。。。 比如说这个观点&#xff1a;算钱用BigDecimal是常识 有支持用Long的&#xff0c;将金额的单位设计为分&#xff0c;然后乘以…

AXI UART 16550 IP核简介

AXI UART 16550 IP核实现了PC16550D UART的硬件和软件功能&#xff0c;该UART可以在16450和16550 UART模式下工作。 一、 功能 AXI UART 16550 IP核执行从AXI主设备接收的字符的并行到串行转换&#xff0c;以及从调制解调器或串行外设接收的字符的串行到并行转换。它支持发送…

VMware虚拟机中ubuntu使用记录(8)—— 如何在Ubuntu18.04中安装运行非ROS版本的ORB_SLAM3跑官方数据集(全程手把手教学安装)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 ORB_SLAM3的介绍一、gitee下载ORB_SLAM3源码1. gitee导入gitHub仓库 二、安装支持C特性依赖三、安装Pangolin1. 安装Pangolin的依赖2. 下载编译 四、安装Eigen31.下…

C#委托以及在事件驱动编程中的使用

C#中的委托&#xff08;Delegate&#xff09;是一种类型&#xff0c;它可以存储对方法的引用&#xff0c;并且可以像其他类型一样传递给方法。委托提供了一种灵活的方式来实现事件处理、回调函数和多播委托等功能。以下是关于C#委托的详细介绍&#xff1a; 定义&#xff1a; …

IDEA运行main方法,为什么要编译整个工程?

每次在IDEA中导入工程后&#xff0c;想写一个类去测试一些数据&#xff0c;有时候只是写一个main方法进行简单的输出&#xff1b; 但是每次运行一个main方法&#xff0c;整个工程都会重新编译一下&#xff0c;耗时不短 在Eclipse就不会有这个问题&#xff1b; 为什么会编译整…

AXI GPIO IP核配置详解

AXI GPIO&#xff08;AXI General-Purpose Input/Output&#xff09;设计提供了一个通用的输入/输出接口&#xff0c;该接口连接到一个AXI4-Lite接口。AXI GPIO可以被配置为单通道或双通道设备&#xff0c;每个通道的位宽可以独立配置。 端口&#xff08;即GPIO引脚&#xff0…

linux系统介绍和安装教程(含安装链接放在最下面了)

一、linux系统简介 在Linux和C语言的发展历程中&#xff0c;有几位关键人物为它们的诞生和推广做出了重要贡献。 首先&#xff0c;肯汤姆森&#xff08;Ken Thompson&#xff09;是一位在AT&T公司工作的员工&#xff0c;他不仅发明了B语言&#xff0c;还创造了Unix系统。…

【已解决】力扣打不开

表现&#xff1a; 1.访问国内其他网站都没有问题 2.访问github也能成功 3.wifi没有问题 4.连接同网络的其他主机能打开 唯独力扣打不开&#xff0c;可能是DNS解析错误 》自己网络配置问题 解决办法【亲测可行】 找可用的hosts 打开站长之家&#xff0c;进行DNS查询&#xff…

高中数学:平面向量-加减运算

一、向量的加法运算 三角形法则&#xff08;推荐&#xff09; 两个或多个向量收尾相连的加法运算&#xff0c;用三角形法则 简便算法 首尾相连的多个向量&#xff0c;去掉中间点&#xff0c;就是最终的和。 也可以用三角形法则证明 向量加法交换律 向量加法结合律 平行四…

HTML静态网页成品作业(HTML+CSS)——自动化专业介绍设计制作(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…

未授权访问:ZooKeeper 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验&#xff0c;一共有好多篇&#xff0c;内容主要是参考先知社区的一位大佬的关于未授权访问的好文章&#xff0c;还有其他大佬总结好的文章&#xff1a; 这里附上大…

在k8s中部署单机版Elasticsearch,并进行数据持久化

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《洞察之眼&#xff1a;ELK监控与可视化》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Elasticsearch简介 2、k8s简介 二、存储准备 …