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 useruser:name: johnstate: presentgroups: "wheel,developers"createhome: yesshell: /bin/bash

修改用户属性:

- name: Modify a useruser:name: johnshell: /bin/zshgroups: "wheel,developers,sudo"append: yes  # 添加到现有组,而不是替换现有组

删除用户:

- name: Remove a useruser:name: johnstate: absentremove: 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'

客户端查看

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

玩机进阶教程------MTK机型重置账号 去除FRP 去除开机密码 清除数据的几种方法步骤解析

目前的机型不管是高通芯片还是MTK芯片。都有账号类限制。包含云账号 frp账号和开机密码等等,他们在线刷包中对应的分区是不同的。例如针对开机图案密码这些,有些机型靠简单的恢复出厂是无效果的,其实对应的解决方法很简单。今天将针对MTK芯片机型的账号问题做个步骤解析。 …

Selenium 自动化 —— 四种等待(wait)机制

更多关于Selenium的知识请访问CSND论坛“兰亭序咖啡”的专栏:专栏《Selenium 从入门到精通》 ​ 目录 目录 需要等待的场景 自己实现等待逻辑 Selenium 提供的三种等待机制 隐式等待(Implicit Waits) 隐式等待的优点 隐式等待的缺点 …

pycharm如何有效读取到win10设置的环境变量

参考链接: 参考文章 该参考文章的第一种方法:设置win10环境变量。 在设置完环境变量后,在pycharm终端上不能有效读取到刚刚设置的环境变量的,需要启动win的cmd,在项目路径下执行脚本。如下所示的对比: cm…

金航标kinghelm萨科微slkor公司发展和品牌传播

为了金航标kinghelm萨科微slkor公司发展和品牌传播,推出了”金航标每日芯闻“与“萨科微每日芯闻“栏目,影响力非常好。这一构想并非一时的灵光乍现,而是经过深思熟虑和充分调研的结果。制定该栏目的模板时候时,就明确了要求语音版…

棒材直线度测量仪 专为圆形产品研发设计 在线无损检测

棒材直线度测量仪采用了先进的技术,能够实现在线无损检测,为生产过程提供了极大的便利。专为圆形产品设计,它能够精确测量棒材的米直线度及外径、椭圆度尺寸,为质量控制提供可靠的数据支持。 在线直线度测量仪不仅具有出色的性能…

Web前端开发 - 4 - CSS3动画

CSS3动画 一、 设计2D变换二、 设计3D变换三、 设计过渡动画四、设计帧动画 一、 设计2D变换 transform : none | <transform-function> /* <transform-function> 设置变换函数&#xff0c;可以是一个或多个变换函数列表。函数包括: martrix(x缩放,x倾斜,y倾斜,y…

刷代码随想录有感(66):回溯算法——组合问题的优化(剪枝)

代码&#xff1a;将for循环中i的搜索范围进行缩小&#xff0c;免去多余的不可能符合条件的操作。 for(int i start; i < n-(k-tmp.size())1;i) 实质是剪枝&#xff0c;拿n4,k4作比较&#xff1a; 显然结果只可能是[1,2,3,4]&#xff0c;选取顺序只可能是1-2-3-4&#xff…

c#多态性的应用

设计一个电脑游戏&#xff0c;游戏中有猪、牛、兔子、青蛙、鸭子等动物&#xff0c;这些动 物都继承于Vertebrata 类&#xff08;脊椎动物类&#xff09;&#xff0c;Vertebrata类有一个抽象方法Display()&#xff0c;每个动 物都从Vertebrata 类那里继承并重写了Display()方法…

windows下mysql5.6下载安装(多实例安装)

目录 1、下载 2、安装步骤 3、mysql多实例安装 1、下载 http://dev.mysql.com/downloads/windows/installer/5.6.html 2、安装步骤 我们采用自定义安装模式&#xff1a;选择32位或64位 默认即可&#xff1a; 说明&#xff0c;如果没有该页面就上一步&#xff0c;选择高级选…

OpenAI推出旗舰AI模型GPT-4o并免费开放

&#x1f989; AI新闻 &#x1f680; OpenAI推出旗舰AI模型GPT-4o并免费开放 摘要&#xff1a; OpenAI 未来的产品将以免费为优先&#xff0c;以让更多人使用为目标。OpenAI 发布了桌面版本的程序和更新后的 UI&#xff0c;更加简单自然。推出了新一代大模型 GPT-4o&#xf…

经典神经网络(8)GAN、CGAN、DCGAN、LSGAN及其在MNIST数据集上的应用

经典神经网络(8)GAN、CGAN、DCGAN、LSGAN及其在MNIST数据集上的应用 1 GAN的简述及其在MNIST数据集上的应用 GAN模型主导了生成式建模的前一个时代&#xff0c;但由于训练过程中的不稳定性&#xff0c;对GAN进行扩展需要仔细调整网络结构和训练考虑&#xff0c;因此GANs虽然在…

金融科技员工一年赚多少钱?富如恒生电子,穷如长亮科技

在本篇文章中&#xff0c;我们继续分析四家金融科技公司的数据&#xff0c;本次站在员工视角来看&#xff08;链接&#xff0c;这四家公司的更详细内容&#xff09;。 先说结论。 2023年&#xff0c;如果你是恒生电子的普通员工&#xff0c;那年薪在35万元&#xff1b;如果你在…

OSPF多区域通信基础实验

基本概念了解&#xff1a; 网络设备接口速率、 Ethernet 100MB GE 1000MB serial接口 1.544MB area 0 骨干区域&#xff08;backbone&#xff09; area 0area0.0.0.0 不是area 0 非骨干区域 ar area 256area 0.0.1.0 实验拓扑如下&#xff1a;要求PC1能够访问PC2 &#xff08;跨…

oracle多条重复数据,取最新的

1、原理讲解-可直接看2 筛选出最新的 SELECT * FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY LOCALAUTHID ORDER BY LASTUPDATETIME DESC) AS rn FROM USER_LOCALAUTH_STATE t ) t WHERE t.rn 1; 解释&#xff1a; 这个序号是基于[LOCALAUTHID]字段进行分…

外网ip地址怎么获取?快解析

大家都清楚互联网是通过ip地址通信的&#xff0c;ip地址又分内网ip和外网ip。内网ip只能在内网使用&#xff1b;而外网ip作为电脑唯一标识&#xff0c;可在公网使用。那么外网ip地址怎么获取呢&#xff1f; 外网ip是网络运营商分配给用户的。目前最常见的两种上网方式一个是拉…

图文详解JUC:Wait与Sleep的区别与细节

目录 一.Wait() 二.Sleep() 三.总结Wait()与Sleep()的区别 一.Wait() 在Java中&#xff0c;wait() 方法是 Object类中的一个方法&#xff0c;用于线程间的协作。当一个线程调用wait() 方法时&#xff0c;它会释放对象的锁并进入等待状态&#xff0c;直到其他线程调用相同对…

JVM调优-调优原则和原理分析

1.写在前面 对于JVM调优这个话题&#xff0c;可能大部分程序员都听过这个名词。 但是绝大多数程序员&#xff0c;都没有真真实实去干过&#xff0c;都没有真实的实践过。也不懂得如何调优&#xff1f;不知道要调成怎么样&#xff1f; 那今天咋们就对这个话题来展开描述一下&…

洛谷 P3372:线段树 1 ← 分块算法模板(区间更新、区间查询)

【题目来源】https://www.luogu.com.cn/problem/P3372【题目描述】 如题&#xff0c;已知一个数列&#xff0c;你需要进行下面两种操作&#xff1a; &#xff08;1&#xff09;将某区间每一个数加上 k。 &#xff08;2&#xff09;求出某区间每一个数的和。【输入格式】 第一行…

二叉树——初解

二叉树 树树的概念树的性质 二叉树二叉树的概念二叉树的性质二叉树的实现方式数组构建左孩子右兄弟法构建指针构建 树 树的概念 在计算机科学中&#xff0c;树&#xff08;Tree&#xff09;是一种重要的非线性数据结构&#xff0c;它由若干节点&#xff08;Node&#xff09;组…

Chromium 调试指南2024 Windows11篇-调试变量监视(十)

1. 前言 设置断点和监视变量是调试过程中常用的两种技术手段。通过设置断点&#xff0c;我们可以暂停程序的执行并检查程序的内部状态&#xff0c;而监视变量则可以帮助我们实时查看程序中关键变量的值。本文将介绍如何在Chromium项目中进行断点设置和变量监视&#xff0c;帮助…