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. 完成实验

       
      30:自动执行Linux管理任务-1 使用Ansible管理软件包32:自动执行Linux管理任务-3 管理启动过程和调度的进程
      Loading...
      minami
      minami
      一个普通的干饭人🍚
      Announcement

      🎉 ブログへようこそ 🎉

      notion image
      名前:みなみ独立事務所
      性別:男
      国籍:China
      完全独学だけで基本情報をはじめ31個の資格を仕事をしながら合格。 現在はIT会社の技術担当や、ブログの執筆や学習支援などを手掛けています。 独学で合格できる学習法、勉強法、試験対策を配信します!

      📚 主な内容

      💻 IT・システム開発
      🏠 不動産 × 宅建士
      🎓 MBA 学習記録

      🔍 コンテンツの探し方

      現在、サイトのデザインはシンプルなため、情報がやや探しにくいかもしれません。
      気になるテーマを探す際は、タグ検索の利用をおすすめします。