本文介绍在RHEL/CentOS 8上安装和配置FreeIPA Server的方法,安装要求:带有4GB RAM的服务器,我安装了1GB和2GB RAM失败,全新安装RHEL/CentOS 8服务器,2个vCPU,端口443和80未被其他应用程序使用,FQDN可通过公共或私有DNS服务器进行解析及10GB磁盘空间。以下是所使用的服务器,运行free -h、lscpu、df -h | grep root命令查看:
一、设置时区和主机名 你需要在服务器上拥有正确的时区和主机名才能继续,FreeIPA服务器还将运行NTP服务,正确的时区将确保你在服务器上有正确的时间。
二、在RHEL/CentOS 8上安装FreeIPA Server RHEL IdM是一种集成解决方案,可提供集中管理的身份(用户,主机,服务),身份验证(SSO,2FA)和授权(主机访问控制,SELinux用户角色,服务)。 我在执行模式下使用SELinux安装失败,我建议你将其设置为允许或禁用: sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config FreeIPA服务器和客户端软件包通过RHEL/CentOS 8中的AppStream存储库分发,可以检查可用的IdM模块,参考使用Fedora/RHEL 8系统模块库[Modular Repository]的方法: $ sudo yum module list idm
从输出中,可以看到我们有DL1和客户端流,有关服务器模块的更多信息,请运行: sudo yum module info idm:DL1 由于这是FreeIPA Server安装,请安装DL1流,然后安装freeipa-server: sudo yum -y install @idm:DL1 sudo yum -y install freeipa-server 如果要包含DNS服务,还要安装ipa-server-dns,bind和bind-dyndb-ldap: sudo yum install ipa-server-dns bind-dyndb-ldap 此安装用作依赖项的其他流是:389-DS、httpd、pki-core、pki-deps。
三、在RHEL/CentOS 8上设置IPA Server FreeIPA server的初始配置是交互式的,只需回答几个问题,所有工作都是通过脚本完成的,将被要求提供: 集成DNS - 如果在系统上正确设置了DNS区域和SRV记录,则可以选择默认值“no”。 主机名 - 默认情况下使用反向DNS获取。 域名 - 默认情况下基于主机名。 Realm name - 默认情况下基于主机名。 目录管理员的密码 - Directory Server的管理员帐户。 IPA管理员密码 - IdM服务器的超级用户。 如果没有DNS服务器来解析服务器主机名,请修改/etc/hosts文件以包含主机名和IP地址: echo "192.168.122.198 ipa.example.com" | sudo tee -a /etc/hosts 确认: [jmutai@rhel8 ~]$ ping -c 2 ipa.example.com PING ipa.example.com (192.168.122.198) 56(84) bytes of data. 64 bytes from ipa.example.com (192.168.122.198): icmp_seq=1 ttl=64 time=0.040 ms 64 bytes from ipa.example.com (192.168.122.198): icmp_seq=2 ttl=64 time=0.113 ms --- ipa.example.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 30ms rtt min/avg/max/mdev = 0.040/0.076/0.113/0.037 ms 配置服务器主机名以匹配以上名称: export HNAME="ipa.example.com" sudo hostnamectl set-hostname $HNAME --static sudo hostname $HNAME 不要忘记将ipa.example.com替换为你的有效主机名。 然后运行ipa-server-install命令配置IPA server,以具有sudo权限的用户身份或以root用户身份运行: sudo ipa-server-install 如果还要配置DNS服务,请包含-setup-dns选项: sudo ipa-server-install --setup-dns 样本输出: $ sudo ipa-server-install
说明: 配置独立CA(dogtag)以进行证书管理。 配置NTP客户端(chronyd)。 创建和配置Directory Server实例。 创建和配置Kerberos密钥分发中心(KDC)。 配置Apache(httpd)。 配置KDC以启用PKINIT。 成功安装应该提供类似于下面的输出:
四、配置Firewalld及访问FreeIPA Web界面 1、配置Firewalld 建议运行防火墙服务并允许访问FreeIPA服务器服务使用的端口: sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent sudo firewall-cmd --reload 2、访问FreeIPA Web界面 你的FreeIPA服务器安装已准备就绪,访问https://ipa.example.com上的Web UI:
使用管理员用户名和安装期间提供的IPA管理员密码登录:
这步就可以看到FreeIPA管理仪表板了,可以从Web UI或命令行管理FreeIPA server:
五、使用FreeIPA CLI 要使用ipa命令,需要先获取Kerberos帐户: $ sudo kinit admin Password for admin@EXAMPLE.COM: 使用klist检查帐户到期信息: $ klist Ticket cache: KCM:0 Default principal: admin@EXAMPLE.COM Valid starting Expires Service principal 03/25/2019 11:48:06 03/26/2019 11:48:04 krbtgt/EXAMPLE.COM@EXAMPLE.COM 将用户的默认shell设置为/bin/bash: $ sudo ipa config-mod --defaultshell=/bin/bash
通过添加用户帐户和列出帐户进行测试: $ sudo ipa user-add test --first=Test --last=User \ --email=test@example.com --password
要列出添加的用户帐户,请运行: $ sudo ipa user-find
尝试以testuser身份登录,首次登录时,系统会要求更改密码: $ ssh test@localhost Password: Password expired. Change your password now. Current Password: New password: <Set new passwoird Retype new password: Activate the web console with: systemctl enable --now cockpit.socket [test1@ipa ~]$ id uid=1201400003(test1) gid=1201400003(test1) groups=1201400003(test1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
附:在RHEL/CentOS 8上卸载FreeIPA Server的方法 要卸载FreeIPA Server,请运行: $ sudo ipa-server-install --uninstall
根据上图所示,目的达到,等待命令执行完毕即可。
相关主题 |