如何在 CentOS 7 上使用 FreeIPA 设置集中式 Linux 身份验证

2023-11-17

介绍

FreeIPA是 Linux 的开源安全解决方案,提供帐户管理和集中身份验证,类似于 Microsoft 的 Active Directory。 FreeIPA 构建在多个开源项目之上,包括 389 Directory Server、MIT Kerberos 和 SSSD。

FreeIPA 有 CentOS 7、Fedora 和 Ubuntu 14.04/16.04 的客户端。这些客户端使将计算机添加到 IPA 域变得相当简单。其他操作系统可以使用 SSSD 或 LDAP 针对 FreeIPA 进行身份验证。

在本教程中,我们将在 CentOS 7 服务器上安装 FreeIPA 服务器。然后,您可以配置客户端计算机,允许 FreeIPA 用户使用其 IPA 凭据登录。

完成本教程后,您可以在 Ubuntu 16.04 上配置 FreeIPA 客户端 or 在 CentOS 7 上配置 FreeIPA 客户端.

先决条件

要学习本教程,您将需要:

  • 一台 CentOS 7 服务器,至少具有 1 GB RAM。默认情况下,CentOS 7仅使用root用户。由于我们将使用 FreeIPA 来管理用户,因此无需手动添加其他用户。您只需以 root 用户身份遵循本教程即可。

  • 您的服务器上启用了防火墙,您可以按照以下步骤进行设置CentOS 7 教程的其他推荐步骤中的防火墙步骤。强烈建议这样做,因为 FreeIPA 处理敏感的用户凭据。

  • 用于服务器和客户端的完全注册域。您可以在名称廉价或免费获得一份Freenom.

  • 为您的服务器设置以下 DNS 记录。您可以关注这个主机名教程有关如何添加它们的详细信息。

    • An A record with your server name (e.g. ipa.example.com) pointing to your server’s IPv4 address.
    • 如果您希望通过 IPv6 访问您的服务器,则您的服务器名称指向您服务器的 IPv6 地址的 AAAA 记录。
  • 可选地,nano文本编辑器安装有yum install nano。 CentOS 附带vi默认情况下是文本编辑器,但是nano可以更加用户友好。

第 1 步 — 准备 IPA 服务器

在开始安装任何东西之前,我们需要做一些事情来确保服务器准备好运行 FreeIPA。具体来说,我们将设置服务器主机名、更新系统软件包、检查先决条件中的 DNS 记录是否已传播,并确保防火墙允许流向 FreeIPA 的流量。

To begin, the hostname of your server will need to match your fully qualified domain name (FQDN) for FreeIPA to work correctly. We’ll be using ipa.example.com as the FQDN throughout this tutorial.

您可以在创建服务器时设置主机名,也可以在创建服务器后从命令行设置主机名,使用hostname命令:

  1. hostnameipa.example.org

现在,更新包存储库yum.

  1. 百胜更新

接下来,在防火墙中打开 FreeIPA 所需的端口。

  1. 防火墙命令- 永恒的--添加端口={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,464/tcp,53/tcp,88/udp,464/udp,53/udp,123/udp}

重新加载防火墙以使更改生效。

  1. 防火墙命令--reload

最后,您需要验证 DNS 名称是否正确解析。您可以使用dig为此的命令。安装bind-utils包获取dig和其他 DNS 测试实用程序。

  1. yum install绑定实用程序

然后使用dig检查A记录。

  1. dig +short ipa.example.org A

This should return your_server_ipv4.

如果启用了 IPv6,则可以以相同的方式测试 AAAA 记录。

  1. dig +short ipa.example.org AAAA

This should return your_server_ipv6.

您还可以测试反向查找。这测试您是否可以从 IP 地址解析主机名。

  1. dig +short -x your_server_ipv4
  2. dig +short -x your_server_ipv6

These should both return ipa.example.com.

FreeIPA 大量使用 DNS,因此在下一步中,我们将确保我们的服务器满足 FreeIPA 正常工作所需的特定 DNS 要求。

第 2 步 — 设置 DNS

所有运行 FreeIPA 的计算机都必须使用我们在上一步中设置的完全限定域名 (FQDN) 作为主机名。此外,每个服务器的主机名必须解析为其 IP 地址,而不是localhost.

Note:如果您要在 LAN 内的服务器上设置 FreeIPA,请改用私有 IP。

在DigitalOcean上,您可以在以下位置看到您服务器的公共IP地址:控制面板。您还可以使用以下命令查找服务器 IP 地址ip命令。

  1. ip地址显示

这应该产生类似于以下内容的输出:

Output
. . . 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff inet 111.111.111.111/18 brd 111.111.111.255 scope global eth0 valid_lft forever preferred_lft forever inet6 1111:1111:1111:1111::1111:1111/64 scope global valid_lft forever preferred_lft forever . . .

IPv4 地址直接出现在inetIPv6 地址(如果您已启用)将出现在inet6。如果您启用了专用网络,您还可能会看到其他专用 IP 地址;您可以忽略这些地址。要区分公共 IP 地址和私有 IP 地址,请注意私有 IPv4 地址将在以下范围内:192.168.*.*, 10.*.*.*, or 172.16.*.* to 172.31.*.*。私有 IPv6 地址将始终以前缀开头fe80::.

现在我们需要更改主机文件,将服务器的主机名指向其外部 IP 地址。主机文件,/etc/hosts,将域名映射到计算机本地的 IP 地址。打开此文件nano或您最喜欢的文本编辑器。

  1. nano/etc/主机

查找后面包含您的服务器主机名的行127.0.0.1:

/etc/主机
. . .
# The following lines are desirable for IPv4 capable hosts
127.0.0.1 ipa.example.com ipa.example.com
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
. . .

Change 127.0.01到您的服务器 IPv4 地址。

修改/etc/hosts
. . .
# The following lines are desirable for IPv4 capable hosts
your_server_ipv4 ipa.example.com ipa.example.com
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
. . .

如果您启用了 IPv6,您还需要编辑 IPv6 映射,更改::1与您的主机名一致。

/etc/主机
...
# The following lines are desirable for IPv6 capable hosts
::1 ipa.example.com ipa.example.com
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
...

Change ::1到您的服务器 IPv6 地址。

修改/etc/hosts
...
# The following lines are desirable for IPv6 capable hosts
your_server_ipv6 ipa.example.com ipa.example.com
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
...

保存并退出文件。

默认情况下,每次系统启动时。 CentOS使用的配置是/etc/cloud/templates/hosts.redhat.tmpl生成/etc/hosts。为了使此配置更改永久生效,我们还需要在该文件中进行类似的更改。

打开文件。

  1. nano/etc/cloud/templates/hosts.redhat.tmpl

改变127.0.0.1 ${fqdn} ${hostname}行使用您的服务器 IPv4 地址。

修改/etc/cloud/templates/hosts.redhat.tmpl
...
# The following lines are desirable for IPv4 capable hosts
your_server_ipv4 ${fqdn} ${hostname}
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
...

同样,更改::1 ${fqdn} ${hostname}行来使用您的 IPv6 地址(如果您正在使用 IPv6 地址)。

修改/etc/cloud/templates/hosts.redhat.tmpl
...
# The following lines are desirable for IPv6 capable hosts
your_server_ipv6 ${fqdn} ${hostname}
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
...

退出并保存文件。

接下来我们将在 CentOS 中配置随机数生成器。这将允许 FreeIPA 执行身份验证所需的加密功能。

第 3 步 — 配置随机数生成器

设置 FreeIPA 需要大量随机数据来执行其运行的加密操作。默认情况下,虚拟机将很快耗尽随机数据或熵。为了解决这个问题,我们将使用rngd,一个软件随机数生成器。rngd其工作原理是从连接到服务器的硬件设备获取数据并将其输入内核的随机数生成器。

首先,安装rngd.

  1. yum installrng-工具

然后启用它。

  1. systemctl 启动 rngd

确保该服务在启动时自动启动。

  1. 系统控制enable rngd

最后验证一下rngd在跑。

  1. systemctl 状态 rngd

输出应包括active (running)为绿色。

配置完所有依赖项并使其正常运行后,我们可以继续安装 FreeIPA 服务器软件本身。

第 4 步 — 安装 FreeIPA 服务器

我们可以继续安装ipa-server,FreeIPA 服务器包本身。

  1. yum installipa服务器

然后运行FreeIPA安装命令。这将运行一个脚本,提示您配置选项并安装 FreeIPA。

  1. ipa 服务器安装

除了身份验证之外,FreeIPA 还能够管理主机的 DNS 记录。这可以使主机的配置和管理变得更加容易。在本教程中,我们不会使用 FreeIPA 的集成 DNS。基本设置不需要它。

安装脚本提示
Do you want to configure integrated DNS (BIND)? [no]: no

接下来,您需要输入服务器的主机名、域名和 Kerberos 领域名称。 Kerberos 是一种身份验证协议,FreeIPA 在后台使用它来验证主机。强烈建议您使用您的域名作为 Kerberos 领域。使用不同的命名方案将导致 FreeIPA 的 Active Directory 集成出现问题,并可能导致其他问题。

Warning:不要使用您的根域(example.com) 作为您的 IPA 域名。这可能会导致 DNS 问题。

安装脚本提示
Server host name [ipa.example.org]: ipa.example.org Please confirm the domain name [example.org]: ipa.example.org Please provide a realm name [EXAMPLE.ORG]: IPA.EXAMPLE.ORG

接下来,为 LDAP 目录管理器创建密码。这是 FreeIPA 的 LDAP 功能所需要的。然后是 IPA 管理员密码,以管理员用户身份登录 FreeIPA 时将使用该密码。强烈建议在这里使用安全的随机生成的密码,因为整个系统的安全取决于它们。

确认配置。之后,安装程序将运行。

安装脚本提示
Continue to configure the system with these values? [no]: yes

安装过程可能需要几分钟时间,具体取决于服务器的速度。

现在我们已经完成了服务器安装,我们需要对其进行测试。

第 5 步 — 验证 FreeIPA 服务器功能

首先,通过尝试为管理员用户初始化 Kerberos 令牌来验证 Kerberos 领域是否已正确安装。

  1. 基尼特管理员

如果工作正常,这将提示您输入在安装过程中输入的 IPA 管理员密码。输入它,然后按ENTER.

接下来,验证 IPA 服务器是否正常运行。

  1. ipa 用户-查找管理员

这应该打印出以下内容:

Output
-------------- 1 user matched -------------- User login: admin Last name: Administrator Home directory: /home/admin Login shell: /bin/bash Principal alias: admin@IPA.EXAMPLE.COM UID: 494800000 GID: 494800000 Account disabled: False ---------------------------- Number of entries returned 1 ----------------------------

We should also be able to access the web UI at https://ipa.example.com.

Note: The TLS certificate will be untrusted. For now, we’ll just bypass the warnings. In the future, you can use your favorite certificate authority to get a valid TLS certificate. Once you have it, you’ll need to upload your CA certificate (usually ca.crt), certificate file (your_domain.crt), and key file ( your_domain.key) to the server.

获得文件后,使用您之前设置的目录管理器密码安装 CA。您可以在命令前面添加一个空格,以防止将其保存到 shell 历史记录中。

  1. ipa-cacert-manage -p your_directory_manager_password -n httpcrt -t C,, install ca.crt

然后安装站点证书和密钥。

  1. ipa-server-certinstall -w -d your_domain.key your_domain.crt

您需要重新启动服务器才能使这些更改生效。

在 Web UI 中,以管理员用户身份登录。Usernameadmin and Password将是您之前设置的 IPA 管理员密码。页面顶部会说正在验证...然后您将进入 IPA 主页面,如下所示:

FreeIPA UI main page

最后,让我们通过添加新用户来探索 FreeIPA 的一些功能。

步骤 6 — 配置 IPA 用户

FreeIPA 具有非常广泛的用户管理和策略功能集。与标准 Unix 用户类似,FreeIPA 用户可以属于组。根据策略,可以允许或拒绝组或个人用户访问主机(客户端计算机)或主机组(主机组)。 FreeIPA 还可以管理 sudo 访问;可以授予组或用户对主机或主机组的 sudo 访问权限。

本教程将介绍如何添加新用户以帮助您入门。

要添加用户,请单击Identity选项卡并单击Users。这将显示一个用户表。点击+ Add表格上方的按钮可添加新用户。在打开的表单中填写必填字段(例如名字和姓氏),然后单击Add按原样添加用户或添加和编辑配置高级详细信息。

还可以通过单击原始表中的用户来访问高级详细信息。这是管理员在查看用户详细信息时看到的内容:

FreeIPA UI user edit

普通用户也可以登录 IPA GUI。他们将能够查看自己的权限并编辑个人详细信息。

新用户首次登录 IPA 计算机时将被要求更改密码。这适用于 IPA GUI 以及 SSH。一项有用的功能是添加 SSH 密钥的能力。用户可以上传他们的公共 SSH 密钥并将其传播到 IPA 计算机,从而允许无密码登录。然后,用户可以随时删除 SSH 密钥,而不必担心它仍然存在于各个服务器上。

结论

现在您已经有了一个可用的 FreeIPA 服务器,您将需要配置客户端对其进行身份验证。您可以关注Ubuntu 16.04 FreeIPA 客户端教程 or 这个 CentOS 7 FreeIPA 客户端教程这样做。此外,FreeIPA 是一个 LDAP 服务器。任何支持 LDAP 身份验证的服务都可以设置为针对您的 FreeIPA 服务器进行身份验证。

您可以通过 FreeIPA GUI 或其 CLI 配置用户、组和访问策略。 Sudo 规则可以提供一种相对简单的方式来管理 root 访问。对于大型部署,建议设置多个具有复制功能的 IPA 服务器。最后,如果您想桥接到 Windows 环境,您可以建立对 Active Directory 服务器的信任。

FreeIPA 是一种极其通用的身份验证工具,您接下来需要做什么很大程度上取决于您打算如何使用它。如需了解更多信息,请访问 FreeIPA 网站文档资源列表.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS 7 上使用 FreeIPA 设置集中式 Linux 身份验证 的相关文章

  • 从 Symfony2 中的 http_basic auth 注销

    每当我去 admin logout 我已正确重定向到项目的根目录 但在访问时仍处于登录状态 admin 因为没有提示我输入凭据 这是我的配置 安全 yml security firewalls admin area pattern admi
  • 使用 WinRT 接受无效的 SSL 证书

    在某些情况下 您希望应用程序接受无效的 SSL 证书 测试环境 自签名证书等 在 NET 世界中 人们会使用ServerCertificateValidationCallback类这样做 不幸的是 该类不存在于 WinRT 上下文中 我需要
  • PHP - 将数据从一个站点安全地传递到另一个站点

    我有一个可以接受来自多个站点的请求的站点 有点像升级检查 这些网站将发送用户名 密码 应用程序版本等信息 然后我的网站将根据这些信息发送响应 基本上这是一个 GET请求 例如 http www mysite com user boo pas
  • 在java中加密文本文件的最简单方法

    对于我的学校项目 我必须证明我可以在程序中利用文件处理 为此 我做了一个非常简单的登录过程 您可以在其中创建一个帐户 将用户名和密码写入资源文件夹中的文本文件 显然 这根本没有安全性 因为它的设计目的并不是为了展示文件处理的安全性 但是我的
  • 内容安全策略:页面设置阻止自行加载资源?

    我有基于 Java 的 Web 应用程序运行在Tomcat http en wikipedia org wiki Apache Tomcat6 我的应用程序在本地主机和端口 9001 上运行 为了使我的应用程序更加安全并降低风险XSS ht
  • Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]

    我已经尝试解决这个问题有一段时间了 由于某种原因 我陷入了 ssl 问题 并且不知道发生了什么 问题 我已经安装了 python2 7 和 easy install2 7 但是当尝试使用 easy install2 7 安装 pip 时 出
  • GSSAPI 中的 javax.naming.AuthenticationException

    我正在尝试使用 JAVA GSSAPI 执行 NTLM 绑定 我收到此错误 javax naming AuthenticationException GSSAPI 根异常是 javax security sasl SaslException
  • 错误:无法下载存储库“appstream”的元数据:无法准备内部镜像列表:镜像列表中没有 URL

    我正在尝试使用我在 Dockerfile 中指定的 centOs 上的 yum 下载 java 拉取 centOs 镜像后 运行崩溃并抛出此错误 还要提一下 我的服务器实例是AWS EC2 Step 2 9 RUN yum install
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • 如何在 Spring Security @PreAuthorize/@PostAuthorize 注解中使用自定义表达式

    有没有办法在 Preauthorize 块中创建更具表现力的语句 这是我发现自己重复的一个例子 因为 Preauthorize 开箱即用并不是非常智能 RequestMapping value id method RequestMethod
  • 如何检查 AJAX 请求的真实性

    我正在设计一个网站 让用户尽快解决谜题 JavaScript 用于为每个谜题计时 当谜题完成时 毫秒数通过 AJAX 发送到服务器 如何保证服务器收到的时间不是用户伪造的 我不认为基于会话的真实性令牌 Rails 中用于表单的那种 就足够了
  • 在java中设置Process对象的安全性

    有人可以告诉我如何限制通过进程对象访问系统属性吗 如果我通过进程对象运行以下代码 我可以抛出安全异常吗 System getProperty user home 请告诉我如何为流程对象配置证券 在ProcessBuilder类文档中 环境方
  • 伪造文件系统/虚拟文件系统

    我有一个 Web 服务 用户可以将在服务器上运行的 python 脚本上传到该服务 这些脚本处理服务器上的文件 我希望它们能够仅看到服务器文件系统的特定层次结构 最好 一个临时文件夹 我在其中复制要处理的文件和脚本 该服务器最终将是基于 L
  • PHP 中的 htmlspecialchars() 或 Ruby on Rails 中的 h() 是否足以防御所有 XSS(跨站脚本)攻击?

    Is htmlspcialchars user data 在 PHP 中或h user data Ruby on Rails 是否足以防御所有 XSS 跨站脚本 攻击 使用的编码或任何其他可能的考虑因素怎么样 Both htmlspecia
  • 解决 php 常见冲突的最佳方法:忽略、修复还是其他?

    我正在尝试在 CentOS 6 上的 PHP 5 3 3 上安装 Soap 模块 来自 webtatic PHP 5 6 当我运行 yum 命令时yum install php56w soap要安装它 我收到以下消息 错误 php56w c
  • 将旧密码转移到新的哈希算法?

    我正在将站点切换到 Rails 这是一个拥有超过 5 万用户的大型网站 问题是 现有的密码哈希方法是极其虚弱的 我有两个选择 1 切换到新算法 为每个人生成随机密码 然后通过电子邮件将这些密码发送给他们 并要求立即更改 2 实现新算法 但使
  • 在 C# .net 中如何使用 RSA 和许可证提供程序类进行许可?

    我想为简单的控制台应用程序提供许可证 我使用 RSACrypttoServiceProvider 类来加密和解密 我还想使用 LicFileLicenseProvider 类来为我的应用程序授予许可证 如何继承LicFileLicenseP
  • 一个 Guice 就绪的安全框架?

    有没有人见过一个为与 Guice 一起工作而编写的框架 或者一个将现有安全系统 即 Acegi 与 Guice 集成的库 到目前为止我发现了以下内容 http code google com p warp security http cod
  • 是否可以从 .apk 文件获取 Android.mk 或本机源文件?

    看来从 apk文件中获取Java源文件是很容易的 但是否有可能得到Android mk or native通过工具或棘手的方法从 apk 文件中获取源文件 我正在研究 Android 应用程序本机代码安全性 因此这些文件对我来说非常重要 谢
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重

随机推荐

  • 如何设置 Git 服务器

    当谈到 Git 托管时 您有多种选择 GitHub Gitlab 和 Bitbucket 是流行的解决方案 但运行自己的 Git 服务器是值得考虑的替代方案 设置 Git 服务器允许您创建私人存储库 而不受提供商免费计划的限制 在本指南中
  • 如何在 Debian 9 上安装 MySQL

    随着 Debian 9 Stretch MySQL 的发布 Debian 存储库中不再提供世界上最流行的开源关系数据库管理系统 MariaDB 已成为默认数据库系统 MariaDB 是 MySQL 的向后兼容 二进制直接替代品 在本教程中
  • 如何在 CentOS 8 上安装 TensorFlow

    TensorFlow是谷歌打造的一个开源机器学习平台 它可以在不同设备上的 CPU 或 GPU 上运行 并被许多组织使用 包括 Twitter PayPal 英特尔 联想和空客 TensorFlow 可以安装在系统范围内 Python 虚拟
  • 在 CentOS 7 上安装 PHP 7

    CentOS 7 附带 PHP 版本 5 4 该版本已正式 EOL 相当长一段时间 不再受支持 通过使用 PHP 7 您的应用程序将加载更快并消耗更少的系统资源 在本教程中 我们将解释如何安装或升级到 PHP 7 0 CentOS 7 系统
  • 如何在 Linux 中移动文件和目录(mv 命令)

    移动文件和目录是您经常需要在 Linux 系统上执行的最基本任务之一 在本教程中 我们将解释如何使用mv移动文件和目录的命令 如何使用mv命令 The mv命令 move 的缩写 用于将文件和目录从一个位置重命名和移动到另一个位置 语法为m
  • 如何在 CentOS 8 上安装 Xrdp 服务器(远程桌面)

    Xrdp 是 Microsoft 远程桌面协议 RDP 的开源实现 允许您以图形方式控制远程系统 使用 RDP 您可以登录到远程计算机并创建真实的桌面会话 就像登录到本地计算机一样 本教程介绍如何在 CentOS 8 上安装和配置 Xrdp
  • 如何在 Ubuntu 18.04 上安装 Flask

    Flask 是一个免费 开源的 Python 微型 Web 框架 旨在帮助开发人员构建安全 可扩展和可维护的 Web 应用程序 烧瓶是基于Werkzeug和用途Jinja2作为模板引擎 Unlike Django 默认情况下 Flask 不
  • Linux 中的 Whoami 命令

    在本文中 我们将介绍whoami命令 顾名思义 whoami命令打印有效用户 ID 的用户名 换句话说 它显示当前登录用户的名称 如何使用whoami命令 语法为whoami命令如下 whoami OPTION 要显示当前登录用户的名称 请
  • 如何在 CentOS 8 上安装和配置 Redmine

    Redmine 是一款免费的开源项目管理和问题跟踪应用程序 它是跨平台和跨数据库的 构建在 Ruby on Rails 框架之上 Redmine包括对多个项目 wiki 问题跟踪系统 论坛 日历 电子邮件通知等的支持 本教程介绍如何在 Ce
  • Linux 中的 Stat 命令

    stat是一个命令行实用程序 显示有关给定文件或文件系统的详细信息 本文介绍了如何使用stat命令 使用stat命令 语法为stat命令如下 stat OPTION FILE stat接受一个或多个输入FILE名称并包含许多控制命令行为和输
  • 如何在 CentOS 8 上安装 Python 3.8

    Python 是世界上使用最广泛的编程语言之一 凭借其简单易学的语法 Python 成为初学者和经验丰富的开发人员的热门选择 Python 是一种非常通用的编程语言 它可用于构建各种应用程序 从简单的脚本到复杂的机器学习算法 CentOS
  • Linux 中的 Chgrp 命令(更改组)

    在 Linux 中 每个文件都与一个所有者和一个组相关联 并具有确定哪些用户可以读取 写入或执行该文件的权限 本文介绍了如何使用chgrp命令更改给定文件的组所有权 chgrp命令语法 The chgrp命令采用以下形式 chgrp OPT
  • 如何在 CentOS 7 上安装 Ruby

    Ruby 是当今最流行的语言之一 它具有优雅的语法 是 Ruby on Rails 框架背后的语言 本文展示了在 CentOS 上安装 Ruby 的几种不同方法 每种安装方法都有自己的优点 您可以选择最适合您的一种安装方法 先决条件 在开始
  • 如何每 5 分钟、10 分钟或 15 分钟运行一次 Cron 作业

    cron 作业是按指定时间间隔执行的任务 可以将任务安排为按分钟 小时 每月的某一天 每月 每周的某一天或这些的任意组合运行 Cron 作业通常用于自动化系统维护或管理 例如备份数据库或数据 使用最新的安全补丁更新系统 检查磁盘空间使用情况
  • Bash:追加到文件

    在 Bash 中 有多种方法可以将文本附加到文件中 本文解释了其中一些 要将文本附加到文件 您需要对其具有写入权限 否则 您将收到权限被拒绝的错误 使用重定向运算符附加到文件 gt gt 重定向允许您捕获命令的输出并将其作为输入发送到另一个
  • 在 C/C++ 中使用 INT_MAX 和 INT_MIN

    在本文中 我们将了解在 C C 中使用 INT MAX 和 INT MIN 这些实际上是有用的宏 它们表示最大和最小整数值 让我们用一些例子来看看它 使用 INT MAX 和 INT MIN INT MAX 是一个表示最大整数值的宏 同样
  • Google Guice 依赖注入示例教程

    谷歌指南是在应用程序中自动执行依赖项注入的框架 如果您直接遇到这里 我建议您查看一下依赖注入示例在这里我们了解了传统对象创建方法的问题以及依赖注入的实现优势 在上一篇教程中 我们学习了如何在应用程序中手动实现依赖注入 但是 当应用程序中的类
  • 如何在 CentOS 7 上安装 MySQL

    介绍 MySQL是一个开源数据库管理系统 通常作为流行的一部分安装LEMP Linux Nginx MySQL MariaDB PHP Python Perl 堆栈 它使用关系数据库和 SQL 结构化查询语言 来管理其数据 CentOS 7
  • 如何配置 DNS 循环负载平衡以实现高可用性

    介绍 尽管这是一种更有争议的技术 但利用提供商的全球影响力在地理上分发应用程序的一个好方法是使用和管理 DNS 响应 即返回的 IP 地址列表 除非您愿意在硬件和基础设施成本上花费一点钱 否则使用 DNS 来实现高可用性可能是一个很好的方法
  • 如何在 CentOS 7 上使用 FreeIPA 设置集中式 Linux 身份验证

    介绍 FreeIPA是 Linux 的开源安全解决方案 提供帐户管理和集中身份验证 类似于 Microsoft 的 Active Directory FreeIPA 构建在多个开源项目之上 包括 389 Directory Server M