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.hqwc.cn/news/702208.html

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

相关文章

【现代C++】概念的使用

现代C(特别是C20及以后的版本)引入了概念(Concepts),这是一种指定模板参数必须满足的约束的方式。概念使得模板代码更清晰,更容易理解和使用,并且能在编译时提供更好的错误信息。以下是C概念的关…

Muse论文精读

Muse Abstract 我们介绍了Muse,一个文本到图像的Transformer模型,它实现了最先进的图像生成性能,同时比扩散或自回归模型更有效。Muse是在离散标记空间中的掩码建模任务上进行训练的:给定从预训练的大型语言模型(LLM)中提取的文本嵌入&…

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

🐇明明跟你说过:个人主页 🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Elasticsearch简介 2、k8s简介 二、存储准备 …

德昂信息-Wyn助力构建HR人员信息分析看板

”葡萄城的Wyn商业智能软件产品为德昂信息提供了强大的支持,借助Wyn商业智能软件,可以通过可视化方式展示整个公司的人员信息及其分析看板。“ ——德昂信息技术(北京)有限公司 公司简介 德昂信息技术(北京)有限公司(以下简称德昂信息&…

Web前端开发 - 4 - CSS3动画

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

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

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

2024CCPC全国邀请赛(郑州)暨河南省赛

2024CCPC全国邀请赛&#xff08;郑州站&#xff09;暨河南省赛 一铜一银&#xff0c;虽不是线下第一次参赛但是第一次拿xcpc奖牌&#xff0c;还有个国赛奖真是不戳。感谢学长&#xff0c;感谢队友&#xff01; 虽然遗憾没有冲到省赛金&#xff0c;不过还有icpc商丘&#xff08…

软件工程期末复习(7)需求过程

需求分析 需求过程 什么是需求过程&#xff1f; 需求过程是用来导出、确认和维护系统需求文档的一组结构化活动。通常&#xff0c;一个良好的需求过程应包括下列活动&#xff1a; 需求提取需求分析和协商需求确认 需求提取 需求提取是通过与客户、系统用户和其他与系统开发相…

面 试 题

过滤器和拦截器的区别 都是 Aop 思想的一种体现&#xff0c;用来解决项目中 某一类 问题的两种接口(工具)&#xff0c;都可以对请求做一些增强 出身 过滤器来自 servlet 拦截器来自 spring 使用范围 过滤器 Filter 实现了 iavax.servlet.Filter 接口&#xff0c;也就是说…

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

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

C++进阶:红黑树介绍及模拟实现(图示详解过程)

C进阶&#xff1a;红黑树介绍及模拟实现 上次介绍了AVL树&#xff1a;C进阶&#xff1a;AVL树详解及模拟实现&#xff08;图示讲解旋转过程&#xff09; 今天就来紧接着来红黑树啦!!! 文章目录 1.红黑树介绍约束规则 2.项目文件规划3.整体框架&#xff08;节点和Tree&#xf…

html--地图

<!DOCTYPE html> <html lang"en"> <head><meta charset"utf-8"><title>ECharts</title><!--Step:1 引入一个模块加载器&#xff0c;如esl.js或者require.js--><script src"js/esl.js"></scr…