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

news2024/11/16 7:38:32

作者主页:点击! 

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'

客户端查看

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

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

相关文章

RK3576 Camera:资源介绍

RK3576是RK今年上市的中高端旗舰芯片,定位弱于RK3588。这篇文章主要分享一下RK3576这颗主控芯片的camera资源。 (1)RK3576 camera资源 ①RK3576 camera硬件框图 RK3576的camera硬件框图如图所示,拥有一路4lane的DCPHY&#xff…

中关村论坛 | 区块链与隐私计算论坛倒计时1天!

「区块链与隐私计算论坛」 倒计时1天! 地址:中关村国家自主创新示范区会议中心(新建宫门路2号)万春厅 时间:2024年4月27日,下午14:30-17:00 本次论坛围绕释放数据要素价值深入探讨如何将区块链与隐私计算…

六西格玛培训证书攻略2024:一站式解决方案助你快速上手

目前,企业对于员工的专业能力和综合素质要求越来越高。六西格玛作为一种先进的质量管理方法,已经成为众多企业提升运营效率、降低成本的重要手段。张驰咨询针对2024年六西格玛培训证书考取,为广大学员制定了实用的攻略,帮助学员们…

【SRC实战】文件名回显导致反射型XSS,URL重定向

挖个洞先 https://mp.weixin.qq.com/s/hnrm-snkETuR-gqPOSnQXQ “ 以下漏洞均为实验靶场,如有雷同,纯属巧合 ” 01 — 漏洞证明 一、反射型XSS “ 文件名回显,能否触发XSS?” 1、灯塔扫到敏感文件,发现1.txt会在…

使用apifox连接WebSocket请求,重发消息

背景:在 在线文档中,通常使用的都是WebSocket请求,就会导致F12抓包不是通常的http/https 在浏览器中查看WebSocket的方法 打开F12,切换到网络,选择过滤WebSocket请求,刷新页面 连接WebSocket请求的方法 …

python 脚本压缩文件linux 正常,windows 文件夹/文件名称 被加上了上级文件夹名

场景: php 在调用python 脚本,进行文件压缩(因为php的压缩大文件总是超时),linux/mac 环境文件/文件夹名压缩前后一致,windows 压缩后 文件/文件夹名被改变为 上级 文件夹原名 原因: window…

国标GB28181协议EasyCVR视频汇聚平台获取设备录像仅展示部分片段的原因排查

国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,平台支持7*24小时实时高清视频监控,能同时播放多路监控视频流&#xf…

umi项目运行时配置,app.ts

运行时配置和配置的区别是他跑在浏览器端,基于此,我们可以在这里写函数、tsx、import 浏览器端依赖等等,注意不要引入 node 依赖。 getInitialState 用于获取初始化数据,初始化数据使用 useModel 在各个组件中使用,在…

信创替代后的设备处置

信创替代后的设备处置 在信创项目中替换下来的设备,如果从技术层面讲还具有较高的应用价值,如何处置呢? 一、数据处置 信创适配完成后,这些被替换下来的服务器上有大量的数据(包括结构化和非结构化)&…

打造动态图文展示,电子翻书一体机成展厅新宠!

随着多媒体技术的飞速演进,传统的静态展示方式已逐渐无法满足现代社会对于创新的渴望,为了跟上这一步伐,展厅中的展览形式也在不断地迭代,其中,电子翻书一体机以其独特的魅力,成为了备受瞩目的新型展项&…

JAVA实验项目(一):JAVA面向对象特征性实验

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…

2024CCPC郑州邀请赛暨河南省赛

比赛记录:看群里大家嘎嘎拿牌,自己个人来solo了一下,发现简单到中等题很多,写了两小时出了7题,但是写的比较慢,对难题把握还是不准确 补题 : A题确实巧妙充分利用题目的数据范围来思考问题&…

Python邮件处理库之flanker使用详解

概要 Flanker是一个开源的邮件处理库,专门设计用于解析、验证和构建电子邮件地址和MIME消息。由Mailgun开发,它旨在提高邮件处理的效率和准确性,尤其适用于需要高效邮件验证和解析的应用程序。 安装 安装Flanker非常简单,可以通过Python的包管理器pip进行安装: pip ins…

GRE over IPsec VPN实验

一、拓扑图 二、组网需求 某企业总部、分支1、分支2分别通过 R1,R3,R4 接入互联网,配置默认路由连通公网按照图示配置 IP 地址,R1,R3,R4 分别配置 Loopback0 口匹配感兴趣流,Loopback1 口模拟业…

微软推出的Microsoft Fabric 到底是什么?

近期,总有客户问小编,微软推出的 Microsoft Fabric 是什么?这个产品有什么特别之处呢?希望下面这篇文章能为大家解开一些疑惑。 微软Fabric是2023年5月推出的一个数据分析平台,它将关键数据管理和分析工作负载整合到一…

Docker 使用 CentOS 镜像

使用 docker run 直接运行 CentOS 7 镜像,并登录 bash。 C:\Users\yhu>docker run -it centos:centos7 bash Unable to find image centos:centos7 locally centos7: Pulling from library/centos 2d473b07cdd5: Pull complete Digest: sha256:be65f488b7764ad36…

力扣HOT100 - 139. 单词拆分

解题思路&#xff1a; 动态规划 class Solution {public boolean wordBreak(String s, List<String> wordDict) {Set<String> wordDictSet new HashSet(wordDict);boolean[] dp new boolean[s.length() 1];dp[0] true;for (int i 1; i < s.length(); i) {…

数图智能营运管理系统助力企业数字化转型升级

数图智能营运管理系统不仅仅是一个业绩查看工具&#xff0c;它还具备了主动预警机制以及专家级的品类分析逻辑。系统能够协助企业持续优化库存管理&#xff0c;提升品类结构合理性&#xff0c;显著提高运营效率&#xff0c;减少对员工专业技能的依赖&#xff0c;并缩短处理时间…

数据库管理-第190期 备份堪比生死(20240515)

数据库管理190期 2024-05-15 数据库管理-第190期 备份堪比生死&#xff08;20240515&#xff09;1 DDL误操作2 强大的RMAN3 ZDLRA总结 数据库管理-第190期 备份堪比生死&#xff08;20240515&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle A…

HTTP协议及应用

一.HTTP协议 1.HTTP协议版本 HTTP1.0&#xff1a;服务器处理完成后立即断开TCP连接&#xff08;无连接&#xff09;&#xff0c;服务器不跟踪每个客户端也不记录过去的请求&#xff08;无状态&#xff09;&#xff1b; HTTP1.1&#xff1a;KeepAlived长连接避免了连接建立和…