type
status
date
slug
summary
tags
category
icon
password
书籍

自动执行Linux管理任务-2 管理用户和身份验证

  • 管理Linux用户和组,配置SSH,以及修改受管主机上的Sudo配置。

1. 用户管理模块

Ansible ansible.builtin.user模块用于在受管主机上创建、配置和删除用户帐户。可以进行的操作包括:
  • 创建或删除用户。
  • 设置用户主目录。
  • 管理密码(需要提供哈希密码)。
  • 将用户分配到补充组。
示例:
常用参数:
参数
注释
comment
设置用户帐户的描述。
group
设置用户的主要组。
groups
设置用户的补充组列表。
home
设置用户主目录的位置。
createhome
设置为true以创建用户主目录。
system
设置为true将用户设为系统帐户。
uid
设置用户的UID编号。
state
present(创建用户)或absent(删除用户)。

2. 生成SSH密钥

使用generate_ssh_key参数生成SSH密钥:

3. 组管理模块

Ansible ansible.builtin.group模块可用于添加、删除和修改受管主机上的组。
示例:
常用参数:
参数
注释
gid
设置组的GID编号(自动选择编号)。
local
强制使用本地命令替代项。
name
要管理的组的名称。
state
确定组的状态(presentabsent)。
system
设置为true将组设为系统组。

4. 已知主机管理模块

Ansible ansible.builtin.known_hosts模块用于管理受管主机上的SSH主机密钥,确保SSH连接的真实性。
示例:

5. 授权密钥管理模块

Ansible ansible.posix.authorized_key模块用于管理受管主机上用户帐户的SSH授权密钥。
示例:

6. Sudo访问权限配置

在红帽企业Linux中,可以为用户或组配置Sudo访问权限,使其能够运行sudo命令而无需密码提示。可以使用ansible.builtin.lineinfile模块修改/etc/sudoers文件,添加以下行:
示例:
注意: 使用validate参数可以确保sudoers文件在修改后不会有语法错误。

练习:


实验手册:Ansible自动化管理用户和SSH配置

实验目的

  1. 使用Ansible自动化创建多个本地用户。
  1. 将控制节点的公钥分发到目标服务器,为每个用户配置免密登录。
  1. 修改sudo权限配置,使用户可以无密码使用sudo。
  1. 禁用root用户通过SSH登录。

1. 启动实验环境

2. 切换到项目目录

进入实验项目的工作目录:

3. 定义用户变量文件

创建并编辑 vars/users_vars.yml 文件,定义要创建的用户信息。
说明:每个用户都属于 webadmin 组。

4. 创建主Playbook文件

编辑主Playbook文件 users.yml,定义在目标服务器上执行的任务。

5. 运行Playbook

执行Playbook来创建用户和用户组。

6. 追加任务:自动添加公钥

users.yml 文件的 tasks 部分添加以下任务,将控制节点的公钥分发给每个用户,实现免密登录。
提示:手动将控制节点的公钥文件复制到目标服务器的 authorized_keys 文件中,确保Ansible可以自动管理。

7. 添加sudo权限和禁用root登录

添加无密码sudo权限

tasks 中继续添加任务,修改 sudo 配置文件,使 webadmin 组用户可以无密码使用 sudo

禁用root用户通过SSH登录


8. 添加处理程序(Handler)

在Playbook末尾添加处理程序,用于在更改SSH配置后重启sshd服务。
可以将 handler 部分添加到Playbook文件的前面,但最好还是放在Playbook的末尾,因为这符合惯例,方便维护和阅读。这样结构上更清晰,也容易让人一眼看出哪些任务会触发处理程序。
不过Ansible不限制handler的位置,因此放在文件的任何位置都可以正常工作。

9. 运行Playbook

重新运行Playbook,应用所有更改:

10. 验证配置

  1. 使用 user1 通过SSH登录服务器,检查免密登录和sudo权限。
    1. 测试禁用 root 登录是否生效:

      11. 完成实验

       
      相关文章
      RHCE 9版本考试资料
      Lazy loaded image
      40.总复习-4 实验手册:galaxy角色配置与部署
      Lazy loaded image
      39.总复习-3 实验手册:配置 RHEL 系统角色和用户管理
      Lazy loaded image
      38.总复习-2 实验手册:Ansible Web 服务器配置和测试
      Lazy loaded image
      37.总复习-1 实验手册:配置和运行Ansible脚本
      Lazy loaded image
      36:总复习
      Lazy loaded image
      32:自动执行Linux管理任务-3 管理启动过程和调度的进程30:自动执行Linux管理任务-1 使用Ansible管理软件包
      Loading...
      みなみ
      みなみ
      一个普通的干饭人🍚
      最新发布
      TOKYO自習島
      2025-4-17
      第一回 イントロダクション
      2025-4-15
      建物業法の基本と免許-59問
      2025-4-10
      宅建士过去问速刷:小南小白陪你拿证-001
      2025-4-7
      📢 在日本?教你如何用手机流量取代固定宽带,每月省 5000 日元!💰📶
      2025-4-4
      81- 第17章:導入総復習-2:docker,KubernetesおよびOpenShiftのラボ
      2025-4-3
      公告

      🎉 欢迎访问我的博客 🎉

      🙏 感谢您的支持 🙏

      📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

      📚 主要内容

      💻 IT・系统与开发

      • 系统管理:Red Hat 等
      • 容器与编排:Kubernetes、OpenShift
      • 云计算:AWS、IBM Cloud
      • AI 入门:人工智能基础与实践
      • 技术笔记与考证经验

      🏠 不动产 × 宅建士

      • 宅建士考试笔记

      🎓 MBA 学习笔记

      • 管理学、经济学、财务分析等

      🔍 快速查找内容(标签分类)

      由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
      📌 定期更新,欢迎常来看看!
      📬 有任何建议或想法,也欢迎留言交流!