以下是在CentOS 7上部署FreeIPA的详细实战步骤,涵盖服务器端安装、客户端加入及常见问题解决,综合多篇权威指南整理而成:


​一、服务器端安装(FreeIPA Server)​

​1. 环境准备​

  • ​主机名与DNS​

    hostnamectl set-hostname ipa-server.example.com  # 设置FQDN格式主机名[3,4](@ref)
    echo "192.168.1.100 ipa-server.example.com" >> /etc/hosts # 静态解析[3,5](@ref)
  • ​关闭防火墙(测试环境)​

    systemctl stop firewalld && systemctl disable firewalld  # 生产环境建议开放端口[4](@ref)
  • ​安装依赖包​

    yum update -y
    yum install -y freeipa-server freeipa-server-dns bind bind-utils # 包含DNS服务[3,6](@ref)

​2. 安装与配置​

ipa-server-install --setup-dns --auto-forwarders  # 启用集成DNS[3,6](@ref)

​交互式配置提示​​:

  1. ​Domain name​​: example.com(实际域名)

  2. ​Realm name​​: EXAMPLE.COM(大写域名)

  3. ​管理员密码​​:设置强密码(≥8字符)

  4. ​DNS配置​​:

    • 选择集成DNS(输入yes
    • 设置DNS转发器(如8.8.8.8
  5. ​确认安装​​:输入yes开始自动部署(耗时5-10分钟)

​3. 启动服务​

systemctl start ipa  # 启动服务
systemctl enable ipa # 设置开机自启[4](@ref)

​4. 验证服务状态​

ipa-server-status  # 检查服务运行
kinit admin # 获取Kerberos票据
klist # 查看票据信息(确认认证成功)[4](@ref)

​二、客户端加入FreeIPA域​

​1. 客户端环境准备​

hostnamectl set-hostname client.example.com  # 设置客户端FQDN
echo "192.168.1.100 ipa-server.example.com" >> /etc/hosts # 解析服务端IP[1,2](@ref)

​2. 安装客户端工具​

yum install -y freeipa-client  # 安装客户端包[1,5](@ref)

​3. 加入域​

ipa-client-install --domain=example.com --server=ipa-server.example.com --mkhomedir

​关键参数说明​​:

  • --mkhomedir:首次登录时自动创建用户家目录

  • ​交互提示​​:

    • 输入管理员账号(admin)及密码
    • 确认配置(输入yes

​4. 验证客户端​

ssh admin@client.example.com  # 使用域账号登录
id # 检查用户信息(应显示ipa域用户)
sudo -i # 测试sudo权限(需提前配置规则)[2](@ref)

️ ​​三、关键配置与问题解决​

​1. 防火墙规则(生产环境)​

firewall-cmd --permanent --add-service={freeipa-ldap,freeipa-ldaps,dns,kerberos}
firewall-cmd --reload # 开放LDAP(389)、Kerberos(88)、DNS(53)等端口[3](@ref)

​2. 时间同步(必需)​

yum install -y chrony
systemctl enable --now chronyd # Kerberos要求时间误差≤5分钟[4,6](@ref)

​3. 常见问题处理​

  • ​SELinux阻止操作​​:

    setenforce 0          # 临时关闭
    # 或修改/etc/selinux/config永久禁用[4](@ref)
  • ​证书错误​​:

    curl -k https://ipa-server.example.com/ipa/config/ca.crt -o /etc/ipa/ca.crt  # 导入CA证书[4](@ref)
  • ​DNS解析失败​​:

    检查/etc/resolv.conf是否指向FreeIPA服务器IP


​四、管理功能演示​

  1. ​添加域用户​​:

    ipa user-add testuser --first=Test --last=User  # 创建用户
    ipa passwd testuser # 设置密码[4](@ref)
  2. ​配置sudo规则​​(Web UI):

    • 登录https://ipa-server.example.com → ​​Policy​​ → ​​Sudo​​ → ​​Add Rule​
    • 指定用户组、主机和命令(如允许admins组在所有主机执行all命令)

​总结​

  • ​核心价值​​:FreeIPA实现了Linux环境的统一身份认证、精细权限控制及高可用架构。

  • ​生产建议​​:

    • 使用正规CA证书替代自签名证书
    • 部署多主复制集群避免单点故障
    • 定期备份/var/lib/ipa/目录

通过以上步骤,CentOS 7环境可快速构建企业级身份管理体系。完整日志可查看/var/log/ipaserver-install.log,进阶配置参考官方文档

CentOS 7上部署FreeIPA 详细实战步骤的更多相关文章

  1. 如何在CentOS 7上部署Google BBR【搬运、机翻】

    如何在CentOS 7上部署Google BBR 本文章搬运自 https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7 [注:文 ...

  2. 在CentOS 8 上 部署 .Net Core 应用程序

    在Centos 8 上 部署 .Net Core 应用程序     -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...

  3. 在CentOS 7上部署Ghost博客

    作者:waringid 一.简介 跟静态博客不同的是,Ghost 这种轻量级的动态博客,有一个管理后台,可以直接写作和管理博客.本质上,跟 WordPress 是相通的,只是 Ghost 搭建在 No ...

  4. CentOS 7 上部署Mono 4 和Jexus 5.6

    概述 在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus. mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net mvc 4 应用.这篇文章是描述如何在 ...

  5. CentOS 6上的redis搭建实战记录(转)

    redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注.他的特点是支持各种数据结构,stirng,hashes, list,set,和 ...

  6. CentOS 7上安装WordPress详细步骤

    一.搭建Wordpress服务器环境需求: php 5.2.4 或者更高版本.MySQL 5.0 或者更高版本. 二.搭建Wordpress平台:以下以Wordpress3.92版本为例进行说明,如果 ...

  7. Centos史上新版最详细步骤-Linux无脑命令式oracle11g静默安装

    1. 关闭selinux 1.1 sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 1.2 或者 ...

  8. centos服务器上部署javaweb项目(转)

    本文总体参照http://blog.csdn.net/u011019141(然后更据自己情况进行更改) 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG_ ...

  9. CentOS服务器上部署 oracle10gr2

    1.下载Centos系统 Linux 镜像文件.         推荐使用 CentOS5.4,下载地址:http://isoredirect.centos.org/centos/5/isos/i38 ...

  10. centos 服务器上部署 xxl-job 通过 feign 访问 eureka 上注册的 service timeout

    部署方式 1.使用 jar 包部署 出现的问题 1.通过 feign 调用其他服务,出现超时的问题,该问题不是 ribbon.hystrix 没有配置导致的超时,经过测试,即使配置了也没有作用,该方法 ...

随机推荐

  1. CentOS、Ubuntu安装jdk11方法

    CentOS: sudo yum install java-11-openjdk -y Ubuntu sudo apt-get install openjdk-11-jre -y 检查版本: java ...

  2. 【语义分割专栏】:FCN实战篇(附上完整可运行的代码pytorch)

    目录 前言 FCN全流程代码 模型搭建(model) 数据处理(dataloader) 评价指标(metric) 训练流程(train) 模型测试(test) 效果图 结语 前言 FCN原理篇讲解:[ ...

  3. 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(4)

    1.问题描述: LoginWithHuaweiIDButton不支持深色模式下定制文字和loading样式? 解决方案: LoginWithHuaweiIDButtonParams 中的有个suppo ...

  4. Scrum进入疲惫期?三点帮你走出困境

    <敏捷软件开发>中提到: "Scrum 可以帮助团队更好地应对变化和不确定性,以及更快地响应客户需求.通过持续的反馈和改进,Scrum 可以提高团队的适应性和灵活性." ...

  5. PowerShell执行命令提示找不到驱动器。名为“xx”的驱动器不存在。

    前言 问题截图 1. VSCode中提示错误 2. PowerShell中提示错误,任何命令都提示此错误(排程变量命令) 网上的解决方案 1. VSCode中提示,修改相关VSCode首选项设置 2. ...

  6. FastAPI安全认证的终极秘籍:OAuth2与JWT如何完美融合?

    扫描二维码 关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ FastAPI安全与认证实战指南 ...

  7. 《MCP从0到1》第2课:通信的消息类型、生命周期、与能力协商详解

    MCP星球推出全新教程<MCP 从 0 到 1>,面向AI爱好者和开发者朋友,零基础友好,帮你系统掌握 MCP(Model Context Protocol,模型上下文协议)的核心原理.架 ...

  8. C# 删除App.config中的,WinForm 自动添加的runtime

    /// <summary> /// 清空App.config节点下的内容 /// </summary> /// <param name="strNode&quo ...

  9. Web前端入门第 76 问:JavaScript 鼠标事件(mouse) enter/leave 和 over/out 区别

    题外话 在考察事件基础的时候,会经常被问及 click.mousedown.mouseup 它们三者执行的先后顺序是怎样的? 如果平时没太注意,这细节可能就会忽略,毕竟很少会在同一个元素上面同时绑定这 ...

  10. 全球首位 AI 程序员 Devin 诞生了,对于程序员的影响到底多大?

    当我第一次看到Devin的演示视频时,我的手机差点掉在地上. 不是因为兴奋,而是因为一种前所未有的恐惧和震撼. 作为一个在程序员这条路上摸爬滚打了快10年的老司机,我见证了太多技术的更迭和变革.从最初 ...