如何在Ubuntu 16.04上配置FreeIPA客户端

介绍

FreeIPA是一个用于Linux的开源安全解决方案,提供帐户管理和集中式认证,类似于Microsoft的Active Directory。 FreeIPA构建在多个开源项目之上,包括389目录服务器,MIT Kerberos和SSSD。 FreeIPA拥有CentOS 7,Fedora和Ubuntu 14.04 / 16.04的客户端。这些客户端使得在IPA域中添加计算机变得非常简单。其他操作系统可以使用SSSD或LDAP对FreeIPA进行身份验证。 在本教程中,我们将配置一个Ubuntu 16.04计算机,以对现有的FreeIPA服务器进行身份验证。 配置客户端后,您将能够管理哪些用户和用户组可以登录到计算机。 此外,您将能够设置哪些用户可以使用 sudo

先决条件

要遵循本教程,您需要:
  • 安装了FreeIPA服务器软件的一台CentOS 7服务器,您可以在CentOS 7教程中按照此FreeIPA设置。
  • 一个Ubuntu 16.04服务器通过遵循此Ubuntu 16.04设置指南设置 ,包括防火墙。 但是,因为我们将使用FreeIPA来管理用户,所以不必手动添加sudo非root用户。 您可以以root身份简单地按照此教程。
  • 为您的Ubuntu服务器设置以下DNS记录。您可以按照此主机名教程了解有关如何添加它们的详细信息。
    • A服务器名称(例如ipa-client.example.com )指向客户端服务器的IPv4地址的A记录。
    • 如果您希望通过IPv6访问服务器,则您的服务器名称指向您的客户端服务器的IPv6地址的AAA​​A记录。
在本教程中,我们将使用 ipa-client.example.com作为您的Ubuntu IPA客户端的示例域,以及 ipa.example.com作为您的CentOS IPA服务器(以匹配先决条件教程)。

第1步 - 准备IPA客户端

在我们开始安装任何东西之前,我们需要做一些事情,以确保您的Ubuntu服务器已准备好运行FreeIPA客户端。具体来说,我们将设置服务器主机名,更新系统软件包,并检查先决条件中的DNS记录是否已传播。 首先,您的Ubuntu服务器的主机名将需要与您的完全限定域名(FQDN)匹配,FreeIPA客户端才能正常工作。在本教程中,我们将使用 ipa-client.example.com作为FQDN。 如果这是一个新服务器,您可以在创建服务器时设置主机名。 如果您已经有一个服务器,您可以使用 hostname命令,如下所示。 请注意,您必须是 root才能更改现有系统的主机名,因为主机名是系统参数,不能由常规用户更改。
hostname ipa-client.example.com
如果要使用 hostname命令更改服务器的主机 hostname ,最好还在 /etc/hostname文件中手动更改它。
nano /etc/hostname
文件中只能有一行与您的服务器的原始主机名:
/ etc / hosts
your_original_hostname
将其更改为客户端的完整FQDN。
/ etc / hosts
ipa-client.example.com
然后保存并关闭该文件。 一旦正确设置了服务器的主机名,请更新软件包存储库。
apt-get update
最后,我们需要验证DNS名称是否正确解析。我们可以使用 dig命令为此。 Dig在默认情况下安装在Ubuntu上。 首先,使用 dig检查A记录。
dig +short ipa-client.example.com A
这应该返回 your_server_ipv4 。 如果启用IPv6,您可以以相同的方式测试AAAA记录。
dig +short ipa-client.example.com AAAA
这应该返回 your_server_ipv6 。 我们还可以测试反向查找。这将测试我们是否可以从IP地址解析主机名。
dig +short -x your_server_ipv4
dig +short -x your_server_ipv6
这两个应该都返回 ipa-client.example.com . 现在服务器已准备好,我们可以安装和配置FreeIPA客户端软件包。

第2步 - 安装FreeIPA客户端

在Ubuntu 16.04中,FreeIPA客户端包含在默认存储库中。
apt-get install freeipa-client
安装程序运行时,它可能在名为 配置Kerberos身份验证的屏幕上提示您输入Kerberos域和Kerberos服务器。 FreeIPA安装程序将覆盖这些设置,但最好在这里正确输入。 在安装服务器时配置了Kerberos域。一般来说它会是 ipa. example.com ipa. example.com Kerberos服务器和管理服务器应该是您的IPA服务器的地址。 如果你遵循先决条件服务器教程,这也将是 ipa. example.com ipa. example.com 。 在这些提示后, ipa-client包将安装。 接下来,运行FreeIPA安装命令。这将运行一个脚本,指导您配置FreeIPA以对您的CentOS FreeIPA服务器进行身份验证。
ipa-client-install --mkhomedir
--mkhomedir标志告诉FreeIPA为IPA用户在首次登录计算机时创建主目录。如果你不想这个行为,你可以省略这个标志。 安装程序将首先提示您输入IPA域。在配置服务器时设置。
安装脚本提示
Provide the domain name of your IPA server (ex: example.com): ipa.example.com
接下来,您需要输入IPA服务器的域名。这应该与您用于访问IPA Web UI的URL相同。如果您在先决条件中遵循服务器教程,则它将与IPA域相同。
安装脚本提示
Provide your IPA server name (ex: ipa.example.com): ipa.example.com
注意 :具有冗余IPA服务器的系统很可能有不同的IPA域和IPA服务器名称。 使用单个服务器,故障转移将不起作用。 FreeIPA会警告你这个,你应该输入 yes继续。
安装脚本提示
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
确认所有选项都正确,然后继续。
安装脚本提示
Continue to configure the system with these values? [no]: yes
接下来,输入管理员用户名。在这里,我们将使用在安装服务器时创建的默认IPA管理员用户。
安装脚本提示
User authorized to enroll computers: admin
最后,输入您的IPA admin用户的密码。这是在FreeIPA服务器配置期间设置的。 输入密码后,FreeIPA客户端将配置系统。最后一行输出将是 Client configuration complete.这表示安装成功。 现在,我们需要验证我们的系统是否显示在IPA Web界面中。

第3步 - 验证身份验证

导航到您的IPA Web UI,它是 https:// ipa.example.com 。使用您之前使用的IPA管理员帐户登录到Web UI。您将看到以下屏幕: ipa登录 导航到 主机选项卡。您应该看到您的IPA服务器以及您刚刚配置的客户端。单击您的IPA客户端的条目。这将带您到主机的概述。 在此屏幕中,您可以输入有关客户端计算机的信息,以及管理计算机的组和角色。 客户端视图 注意 :默认情况下,所有IPA用户可以登录到IPA域中的所有计算机。 您也可以尝试使用本地终端上的IPA用户登录到计算机。
ssh admin@ipa-client.example.com
您将以IPA用户身份登录到计算机。一旦成功,您可以退出此连接。 IPA用户将具有基本访问权,但sudo被禁用。在下一步中,我们将启用sudo。

第4步 - 启用和验证sudo规则(可选)

没有必要修改客户端配置文件来获取enable sudo access;但是,如果需要,您必须在IPA Web UI中配置sudo规则以允许访问。 FreeIPA允许您指定哪些用户和用户组可以在哪些计算机上运行sudo命令。也可以限制用户可以使用sudo运行的命令,以及他们可能假冒的用户。 在本教程中,我们将介绍添加一个简单的规则,允许管理组完全sudo访问所有计算机。请注意,默认情况下,在FreeIPA中,admin组以及下面显示的其他组都存在。
  1. 从IPA Web UI中,单击服务 ,然后单击sudo 。将出现一个下拉菜单。
  2. 在下拉菜单中,单击sudo规则 ,然后单击添加 ,并在规则名称字段中输入规则的名称 。 在这里,我们将使用admin ,因为我们允许管理员组使用sudo。
  3. 接下来,单击添加和编辑 。这将打开规则的完整选项。
  4. 用户用户组 ”下,点击+添加 。 选择管理员组,然后单击箭头将其从“ 可用”移动到“ 预期” 。 然后单击添加
  5. 在“ 访问此主机”下 ,选择任意主机 。 在“ 运行命令”下 ,选择“ 任何命令” 。 在“ 作为身份”下 ,选择任何人和任意组 。这是您可以限制这些机器上启用sudo,可以使用sudo运行的命令以及可以模拟哪些用户的命令。
  6. 最后,scoll到页面的顶部,然后单击保存
你的规则现在应该是活跃的;但是,可能需要一些时间来传播,并且您可能必须重新启动 sshd服务以使sudo规则生效。 为此,您可以在IPA客户端上运行 systemctl restart sshd.service 。 一旦完成,让我们验证我们有在客户端机器上的sudo访问。从本地计算机,尝试使用IPA管理员用户登录客户端。默认情况下,此用户在admins组中。
ssh admin@ipa-client.example.com
登录后,尝试启动交互式sudo提示。
sudo -i
提示现在应该更改为 root@ipa-client 。 您可以简单地键入 exit返回到常规提示。 如果您拒绝sudo访问,您可能需要重新启动计算机,并确保您的sudo规则配置正确。

结论

通过将您的计算机配置为针对FreeIPA进行身份验证,您可以从IPA Web UI或其命令行界面配置对系统的用户和组访问。 FreeIPA具有高级功能,但对于更简单的配置,您可以简单地添加用户和主机,提供简单的集中式身份验证系统。 FreeIPA是一个非常多才多艺的身份验证工具,你下一步需要做什么主要取决于你打算如何使用它。有关更多信息,FreeIPA网站有一个 文档资源列表
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏