当前位置: 首页 > news >正文

FreeIPA安装

一、环境准备

主机名IP角色
master. bhlu. com192.168.22.10服务端
node1. bhlu. com192.168.22.11客户端
  • 两台服务器关闭防火墙和 selinux
  • 配置好 yum

1.1 配置 chronyd

  • 配置好 chronyd,使用 chronyc source -v 可以验证
# 这里写了一个playbook作为示例了
---
- name: Install and Configure Chronyhosts: servertasks:- name: Install Chronyyum:name: chronystate: present- name: Configure Chronylineinfile:path: /etc/chrony.confline: "allow 192.168.22.0/24"regexp: "^#allow"state: present- name: Restart Chronyservice:name: chronydstate: restartedenabled: yes- name: Add Nodes to Chronyhosts: node1tasks:- name: Install Chronyyum:name: chronystate: present- name: Configure Chronylineinfile:path: /etc/chrony.confline: "server 192.168.22.10 iburst"state: present- name: Restart Chronyservice:name: chronydstate: restartedenabled: yes

二、安装

2.1 Master

1. 配置域名解析

[root@master ~]# hostnamectl set-hostname master.bhlu.com
[root@master ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.22.10 master.bhlu.com master
192.168.22.11 node1.bhlu.com node1

2. 安装 FreeIPA 相关包

[root@master ~]# yum install ipa-server ipa-server-trust-ad ipa-server-dns bind bind-dyndb-ldap samba-winbind-clients cifs-utils -y

3. 配置 freeipa

  • ipa-server-installFreeIPA 服务器安装命令
  • -a:指定管理员密码
  • -p:指定主机密钥,用于只有授权的机器才能连接 FreeIPA 服务器
  • --domain:设置 FreeIPA 的域
  • --realm:设置 Kerberos 领域
  • --mkhomedir:用户首次登录自动创建用户的家目录
  • --setup-dns:安装过程中设置 DNS,配置 FreeIPA 服务器为 DNS 服务器
  • --no-forwarders:禁止 DNS 转发,配合 --setup-dns 使用
  • -U:在安装过程中不要询问确认
# 安装,这个dns看个人需求
[root@master ~]# ipa-server-install -a 12345678 -p 12345678 --domain=bhlu.com --realm=BHLU.COM --mkhomedir --setup-dns --no-forwarders -U
# 出现这个说明成功了
...
Client configuration complete.
The ipa-client-install command was successful
...# 设置用户登录自动创建home目录
[root@master ~]# authconfig --enablemkhomedir --update

4. 验证是否安装成功

  1. 使用浏览器访问 https://master.bhlu.com/ipa/ui/,但是访问的客户端需要配置一下域名解析
    • master.bhlu.com 192.168.22.10
    • usernameadmin
    • password:上面 -a 指定的 12345678
  2. 使用命令行查看
# 登录Kerberos域
[root@master ~]# kinit admin
Password for admin@BHLU.COM: # 输入-p后面跟的密码,这里我输入的是12345678# 查看用户
root@master ~]# ipa user-find --all
--------------
1 user matched
--------------dn: uid=admin,cn=users,cn=accounts,dc=bhlu,dc=comUser login: adminLast name: AdministratorFull name: AdministratorHome directory: /home/adminGECOS: AdministratorLogin shell: /bin/bashPrincipal alias: admin@BHLU.COMUser password expiration: 20241104071421ZUID: 520400000GID: 520400000Account disabled: FalsePreserved user: FalseMember of groups: admins, trust adminsipauniqueid: 0dff0892-53c3-11ef-b361-000c29c08154krbextradata: AAJNzbFmcm9vdC9hZG1pbkBCSExVLkNPTQA=krblastpwdchange: 20240806071421Zobjectclass: top, person, posixaccount, krbprincipalaux, krbticketpolicyaux, inetuser, ipaobject, ipasshuser, ipaSshGroupOfPubKeys
----------------------------
Number of entries returned 1
----------------------------

5. 相关管理命令

# 卸载
[root@master ~]# ipa-server-install --uninstall# 重启服务
[root@master ~]# ipactl restart# 执行下面命令之前,都需要 kinit admin
# 添加用户,
[root@master ~]# ipa user-add -help# 查看所有域用户信息
[root@master ~]# ipa user-find --all

2.3 Node1

1. 配置域名解析

# 设置主机名
[root@node1 ~]# hostnamectl set-hostname node1.bhlu.com# 添加域名解析
[root@node1 ~]# vim /etc/hosts
...
192.168.22.10 master.bhlu.com master
192.168.22.11 node1.bhlu.com node1# 设置DNS
[root@node1 ~]# echo "nameserver 192.168.22.10" >> /etc/resolv.conf
[root@node1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search bhlu.com
nameserver 192.168.22.10

2. 安装 freeIPA

[root@node1 ~]# yum install authconfig authconfig-gtk ipa-client ipa-admintools -y

3. 配置 freeIPA

  • ipa-client-installFreeIPA 客户端安装命令
  • --domain:指定要加入的 FreeIPA
  • --realm:指定 Kerberos 领域
  • --server:指定 FreeIPA 服务器的主机名或 IP 地址
  • --no-ntp:表示不要配置 NTP 服务,因为我之前配置过 chronyd
  • --mkhomedir:在用户首次登录时创建用户的家目录
[root@node1 ~]# ipa-client-install --domain bhlu.com --realm=BHLU.COM --server master.bhlu.com --no-ntp --mkhomedir
Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]: # yes
Client hostname: node1.bhlu.com
Realm: BHLU.COM
DNS Domain: bhlu.com
IPA Server: master.bhlu.com
BaseDN: dc=bhlu,dc=comContinue to configure the system with these values? [no]: # yes
Skipping synchronizing time with NTP server.
User authorized to enroll computers: # admin
Password for admin@BHLU.COM: # 服务端-p后面的密码,我这里输入的是12345678
Successfully retrieved CA certSubject:     CN=Certificate Authority,O=BHLU.COMIssuer:      CN=Certificate Authority,O=BHLU.COMValid From:  2024-08-06 07:11:51Valid Until: 2044-08-06 07:11:51...
Client configuration complete.
The ipa-client-install command was successful  # 出现这个说明安装成功

图形界面可以执行 authconfig-gtk 添加,这里我没有试验。

4. 验证是否安装成功

  • 客户端查看
[root@node1 ~]# id admin
uid=520400000(admin) gid=520400000(admins) groups=520400000(admins)
  • web 查看
    freeipa-01

5. 相关管理命令

# 手动同步账户信息
[root@node1 ~]# sss_cache --users

三、配置相关服务

3.1 配置 nfs 挂载 home

  • 这里统一使用 Master 上的 home(这里一开始尝试使用 autofs,发现 autofs 挂载的目录客户端没有权限创建新的目录,所以目前使用的是 nfs

1. 配置 nfs-server

[root@master ~]# vim /etc/exports
/home     192.168.22.0/24(rw,sync,no_root_squash)# 启动服务并设置开机自启
[root@master ~]# systemctl enable --now nfs# 查看
[root@master ~]# showmount -e master.bhlu.com
Export list for master.bhlu.com:
/home    192.168.22.0/24

2. 客户端挂载

[root@node1 ~]# echo "master.bhlu.com:/home /home nfs defaults 0 0" >> /etc/fstab
[root@node1 ~]# mount -a
[root@node1 ~]# df -h /home
Filesystem             Size  Used Avail Use% Mounted on
master.bhlu.com:/home   17G  5.3G   12G  32% /home

3. 验证客户端自动创建家目录

# 登录Kerberos
[root@node1 ~]# kinit admin
Password for admin@BHLU.COM: # 这里输入Kerberos的密码,我输入的是12345678# 创建用户
[root@node1 ~]# echo "123456" | ipa user-add maomao --first=mao --last=mao --cn=maomao --shell=/bin/bash --password
-------------------
Added user "maomao"
-------------------User login: maomaoFirst name: maoLast name: maoFull name: maomaoDisplay name: mao maoInitials: mmHome directory: /home/maomaoGECOS: mao maoLogin shell: /bin/bashPrincipal name: maomao@BHLU.COMPrincipal alias: maomao@BHLU.COMUser password expiration: 20240806122906ZEmail address: maomao@bhlu.comUID: 520400008GID: 520400008Password: TrueMember of groups: ipausersKerberos keys available: True# 验证是否创建成功
[root@node1 ~]# id maomao
uid=520400008(maomao) gid=520400008(maomao) groups=520400008(maomao)# 验证客户端上会不会自动创建家目录
[root@node1 ~]# su - maomao
Creating home directory for maomao.
Last login: Tue Aug  6 20:30:40 CST 2024 on pts/0
[maomao@node1 ~]$ pwd
/home/maomao

3.2 配置 Autofs

  • 这里使用 Master/project 挂载到 node1

1. 配置 nfs-server

[root@master ~]# mkdir -p /project/{proj1,proj2,proj3}[root@master ~]# vim /etc/exports
/home     192.168.88.0/24(rw)  # 这个是之前添加的
/project  192.168.22.0/24(rw)# 重启nfs
[root@master ~]# systemctl restart nfs# 验证
[root@master ~]# showmount -e master.bhlu.com
Export list for master.bhlu.com:
/home    192.168.22.0/24  # 之前的示例
/project 192.168.22.0/24

2. web 设置 autofs

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3. 客户端加载 autofs

[root@node1 ~]# ipa-client-automount
Searching for IPA server...
IPA server: DNS discovery
Location: default
Continue to configure the system with these values? [no]: # yes
Configured /etc/sysconfig/nfs
Configured /etc/idmapd.conf
Started rpcidmapd
Started rpcgssd
Restarting sssd, waiting for it to become available.
Started autofs

4. 验证 project 是否自动挂载

[root@node1 ~]# cd /project/proj1
[root@node1 proj1]# cd /project/proj2
[root@node1 proj2]# cd /project/proj3
[root@node1 proj3]# df -h | grep project
master.bhlu.com:/project/proj1   17G  5.3G   12G  32% /project/proj1
master.bhlu.com:/project/proj2   17G  5.3G   12G  32% /project/proj2
master.bhlu.com:/project/proj3   17G  5.3G   12G  32% /project/proj3

四、总结

  1. 登录 web 时提示的 ssl
  2. home 设置 autofs 会导致客户端上 root 没法在 /home 创建目录
  3. 删除用户后,其 /home 下的目录还会存在
  4. 有的时候分完组,更新会比较慢,需要执行 sss_cache --users

相关文章:

FreeIPA安装

一、环境准备 主机名IP角色master. bhlu. com192.168.22.10服务端node1. bhlu. com192.168.22.11客户端 两台服务器关闭防火墙和 selinux配置好 yum 源 1.1 配置 chronyd 配置好 chronyd,使用 chronyc source -v 可以验证 # 这里写了一个playbook作为示例了 --…...

mysql数据库:SQL语言基础和基本查询

mysql数据库:SQL语言基础和基本查询 SQL语言简介 Structured Query Language, 结构化查询语言非过程性语言为加强SQL的语言能力,各厂商增强了过程性语言的特征如:Oracle的PL/SQL 过程性处理能力,SQL Server、Sybase的T-SQLSQL是用…...

strimzi operator 部署kafka集群(可外部访问)

Strimzi介绍 官方文档:https://strimzi.io/docs/operators/0.42.0/overview#kafka-components_str Strimzi介绍 Strimzi 是一个用于 Apache Kafka 在 Kubernetes 上部署和管理的开源项目。它提供了一组 Kubernetes 自定义资源定义(Custom Resource Definitions,CRDs)、控制…...

【网络安全】探索AI 聊天机器人工作流程实现RCE

未经许可,不得转载。 文章目录 前言正文前言 我发现了一个广泛使用的AI聊天机器人平台中的远程代码执行漏洞。该漏洞存在于聊天机器人的自定义工作流响应代码中,这些工作流允许开发人员通过创建定制的流程来扩展机器人的功能。 正文 在浏览自动化聊天机器人的多个特定功能…...

虚拟DOM、Vue渲染流程

虚拟DOM(Virtual DOM)是一种在前端开发中广泛使用的技术,它用JavaScript对象来表示真实DOM(文档对象模型)的结构和状态。虚拟DOM的核心思想是将页面的状态和结构保存在内存中,而不是直接操作真实的DOM。这一…...

centos7 启动python后端服务与停止服务的sh脚本

centos7 启动python后端服务与停止服务 分别在工程目录下新建启动脚本和停止脚本。 1、启动服务脚本 start_srv.sh: python3 start_srv.py运行 nohup ./start_srv.sh & 以守护进程的方式启动这个服务。 2、停止服务脚本 stop_srv.sh: sp_pidps -ef | grep start_srv…...

访问网站显示不安全怎么办?

访问网站时显示“不安全”,针对不同的原因有不同的解决方式,下面是常见的几种原因和对应的解决办法。 1.未启用HTTPS协议 如果网站仅使用HTTP协议,数据传输没加密,因此会被浏览器标记为“不安全”。解决办法是启用HTTPS协议,给…...

Scala与集合框架:高效数据处理的利器

Scala与集合框架:高效数据处理的利器 Scala 是一种现代化的编程语言,融合了面向对象编程和函数式编程的特性。其集合框架为处理数据提供了强大而灵活的工具,使得数据处理变得高效且富有表达力。本文将深入探讨 Scala 的集合框架,…...

基于 JWT 的模拟登录爬取实战

准备工作 1. 了解 JWT 相关知识 2. 安装 requests 库,并了解其基本使用 案例介绍 爬取网站: https://login3.scrape.center/ 用户名和密码是: admin 模拟登录 基于 JWT 的网站通常采用的是前后端分离式, 前后端的数据传输依…...

力扣(2024.08.06)

1. 144:二叉树的前序遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def preorderTravers…...

如何快速入门 PyTorch ?

PyTorch是一个机器学习框架,主要依靠深度神经网络,目前已迅速成为机器学习领域中最可靠的框架之一。 PyTorch 的大部分基础代码源于 Ronan Collobert 等人 在 2007 年发起的 Torch7 项目,该项目源于 Yann LeCun 和 Leon Bottou 首创的编程语…...

Qt 快速部署环境(windeployqt.exe)

windeployqt.exe 是 Qt 框架提供的一个工具,主要用于将 Qt 应用程序部署到 Windows 环境中。它自动将所需的所有库、插件和文件复制到应用程序的目录中,以便用户能够直接运行应用程序,而无需额外的配置。 主要功能 自动识别依赖项&#xff…...

白骑士的PyCharm教学实战项目篇 4.2 数据分析与可视化

系列目录 上一篇:白骑士的PyCharm教学实战项目篇 4.1 Web应用开发 数据分析和可视化是现代数据科学和工程中的重要环节。借助PyCharm的强大功能,数据分析与可视化的开发工作变得更加高效和便捷。本文将详细介绍如何在PyCharm中进行数据分析工具的集成与…...

el-form-item,label在上方显示,输入框在下方展示

本来是两排展示去写&#xff0c;设计要求一排展示&#xff0c;label再上方&#xff0c;输入框、勾选框在下方&#xff1b;只能调整样式去修改&#xff1b;参考label-position这个属性 代码如下&#xff1a; <el-form ref"form" :model"formData" clas…...

Centos7.9操作系统kdump crash文件vmcore未生成问题

Centos7.9操作系统kdump crash文件未生成问题 一、背景说明1、问题背景 二、排查思路1、先了解下crashkernelcrashkernel设置方式示例如何配置crashkernel验证crashkernel配置 2、再了解下kdump2.1 Kdump 的基本概念2.1.1. 生产内核&#xff08;Production Kernel&#xff09;2…...

找不到符号 javax.servlet.WriteListener

1、问题 找不到符号2、原因 JDK1.8升级到高版本后&#xff0c;需要手动引入包。 在打包时&#xff0c;需要注意一下是否是在父类打包&#xff0c;而不是在某个model打包。 3、解决 引入 <dependency><groupId>javax.servlet</groupId><artifactId>…...

智能仪表板DevExpress Dashboard v24.1 - 新增级联参数过滤

使用DevExpress Analytics Dashboard&#xff0c;再选择合适的UI元素&#xff08;图表、数据透视表、数据卡、计量器、地图和网格&#xff09;&#xff0c;删除相应参数、值和序列的数据字段&#xff0c;就可以轻松地为执行主管和商业用户创建有洞察力、信息丰富的、跨平台和设…...

计算机网络-CSP初赛知识点整理

历年真题 [2016-NOIP-普及-第3题] 以下不属于无线通信技术的是( ) A. 蓝牙 B. Wifi C. GPRS D. 以太网 [2015-NOIP-普及-第10题] FTP 可以用于( )。 A. 远程传输文件 B. 发送电子邮件 C. 浏览网页 D. 网上聊天 [2019-CSP-J-第1题] 中国的国家顶级域名是( ). A. .cn B. .ch C.…...

MySQL第1讲--详细安装教程和启动方法

文章目录 安装教程打开或关闭方式方式1&#xff1a;方式2&#xff1a; 客户端连接方式客户端连接方式1&#xff1a;客户端连接方式2&#xff1a;MySQL环境变量的配置 安装教程 1、mysql官网下载最新的符合本系统的版本 2、点击.msi文件进入安装页面 选择默认的选项开发者安…...

SQL创建数据表的一些语句

SQL创建数据表 /*Navicat Premium Data TransferSource Server : dockermysqlSource Server Type : MySQLSource Server Version : 80023Source Host : localhost:3306Source Schema : nestleTarget Server Type : MySQLTarget Server Version…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...