CentOS 7上部署FreeIPA 详细实战步骤
以下是在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)
交互式配置提示:
Domain name:
example.com(实际域名)Realm name:
EXAMPLE.COM(大写域名)管理员密码:设置强密码(≥8字符)
DNS配置:
- 选择集成DNS(输入
yes) - 设置DNS转发器(如
8.8.8.8)
- 选择集成DNS(输入
确认安装:输入
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
四、管理功能演示
添加域用户:
ipa user-add testuser --first=Test --last=User # 创建用户
ipa passwd testuser # 设置密码[4](@ref)
配置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 详细实战步骤的更多相关文章
- 如何在CentOS 7上部署Google BBR【搬运、机翻】
如何在CentOS 7上部署Google BBR 本文章搬运自 https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7 [注:文 ...
- 在CentOS 8 上 部署 .Net Core 应用程序
在Centos 8 上 部署 .Net Core 应用程序 -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...
- 在CentOS 7上部署Ghost博客
作者:waringid 一.简介 跟静态博客不同的是,Ghost 这种轻量级的动态博客,有一个管理后台,可以直接写作和管理博客.本质上,跟 WordPress 是相通的,只是 Ghost 搭建在 No ...
- CentOS 7 上部署Mono 4 和Jexus 5.6
概述 在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus. mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net mvc 4 应用.这篇文章是描述如何在 ...
- CentOS 6上的redis搭建实战记录(转)
redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注.他的特点是支持各种数据结构,stirng,hashes, list,set,和 ...
- CentOS 7上安装WordPress详细步骤
一.搭建Wordpress服务器环境需求: php 5.2.4 或者更高版本.MySQL 5.0 或者更高版本. 二.搭建Wordpress平台:以下以Wordpress3.92版本为例进行说明,如果 ...
- Centos史上新版最详细步骤-Linux无脑命令式oracle11g静默安装
1. 关闭selinux 1.1 sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 1.2 或者 ...
- centos服务器上部署javaweb项目(转)
本文总体参照http://blog.csdn.net/u011019141(然后更据自己情况进行更改) 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG_ ...
- CentOS服务器上部署 oracle10gr2
1.下载Centos系统 Linux 镜像文件. 推荐使用 CentOS5.4,下载地址:http://isoredirect.centos.org/centos/5/isos/i38 ...
- centos 服务器上部署 xxl-job 通过 feign 访问 eureka 上注册的 service timeout
部署方式 1.使用 jar 包部署 出现的问题 1.通过 feign 调用其他服务,出现超时的问题,该问题不是 ribbon.hystrix 没有配置导致的超时,经过测试,即使配置了也没有作用,该方法 ...
随机推荐
- CentOS、Ubuntu安装jdk11方法
CentOS: sudo yum install java-11-openjdk -y Ubuntu sudo apt-get install openjdk-11-jre -y 检查版本: java ...
- 【语义分割专栏】:FCN实战篇(附上完整可运行的代码pytorch)
目录 前言 FCN全流程代码 模型搭建(model) 数据处理(dataloader) 评价指标(metric) 训练流程(train) 模型测试(test) 效果图 结语 前言 FCN原理篇讲解:[ ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(4)
1.问题描述: LoginWithHuaweiIDButton不支持深色模式下定制文字和loading样式? 解决方案: LoginWithHuaweiIDButtonParams 中的有个suppo ...
- Scrum进入疲惫期?三点帮你走出困境
<敏捷软件开发>中提到: "Scrum 可以帮助团队更好地应对变化和不确定性,以及更快地响应客户需求.通过持续的反馈和改进,Scrum 可以提高团队的适应性和灵活性." ...
- PowerShell执行命令提示找不到驱动器。名为“xx”的驱动器不存在。
前言 问题截图 1. VSCode中提示错误 2. PowerShell中提示错误,任何命令都提示此错误(排程变量命令) 网上的解决方案 1. VSCode中提示,修改相关VSCode首选项设置 2. ...
- FastAPI安全认证的终极秘籍:OAuth2与JWT如何完美融合?
扫描二维码 关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ FastAPI安全与认证实战指南 ...
- 《MCP从0到1》第2课:通信的消息类型、生命周期、与能力协商详解
MCP星球推出全新教程<MCP 从 0 到 1>,面向AI爱好者和开发者朋友,零基础友好,帮你系统掌握 MCP(Model Context Protocol,模型上下文协议)的核心原理.架 ...
- C# 删除App.config中的,WinForm 自动添加的runtime
/// <summary> /// 清空App.config节点下的内容 /// </summary> /// <param name="strNode&quo ...
- Web前端入门第 76 问:JavaScript 鼠标事件(mouse) enter/leave 和 over/out 区别
题外话 在考察事件基础的时候,会经常被问及 click.mousedown.mouseup 它们三者执行的先后顺序是怎样的? 如果平时没太注意,这细节可能就会忽略,毕竟很少会在同一个元素上面同时绑定这 ...
- 全球首位 AI 程序员 Devin 诞生了,对于程序员的影响到底多大?
当我第一次看到Devin的演示视频时,我的手机差点掉在地上. 不是因为兴奋,而是因为一种前所未有的恐惧和震撼. 作为一个在程序员这条路上摸爬滚打了快10年的老司机,我见证了太多技术的更迭和变革.从最初 ...