是否了解如何在 Nginx 服务器上配置 PAM 身份验证? 在本教程中,我们将向您展示如何配置 Nginx 服务,以便使用运行 Ubuntu Linux 的计算机上的可插拔身份验证模块(也称为 PAM)对用户进行身份验证。

• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Nginx 1.18.0

设备列表

以下部分介绍用于创建本教程的设备列表。

作为亚马逊同事,我从符合条件的购买中赚取收入。

Nginx - PAM 身份验证

安装 Nginx 服务器和所需的包。

Copy to Clipboard

在我们的示例中,我们将请求对尝试访问名为 TEST 的目录的用户进行身份验证。

创建名为 TEST 的目录,并为此目录授予名为 www-data 的用户权限。

Copy to Clipboard

配置 Nginx 服务器,以便向尝试访问此目录的用户请求 PAM 身份验证。

编辑默认网站的 Nginx 配置文件。

Copy to Clipboard

将以下配置添加到此文件。

Copy to Clipboard

这是我们配置之前的文件。

Copy to Clipboard

这是我们配置后的文件。

Copy to Clipboard

Nginx 服务器配置为请求密码身份验证以访问名为 TEST 的目录。

Nginx 服务配置为使用 PAM 身份验证模块对用户帐户进行身份验证。

创建 PAM 配置文件。

Copy to Clipboard

这是文件内容。

Copy to Clipboard

在我们的示例中,我们将使用 Linux 帐户对 Nginx 服务访问进行身份验证。

授权 Nginx 服务读取 SHADOW 文件。

Copy to Clipboard

重新启动 Nginx 服务。

Copy to Clipboard

祝贺! 您已成功配置了 Nginx 身份验证。

Nginx - PAM 身份验证测试

创建要在身份验证测试中使用的 Linux 帐户。

Copy to Clipboard

在我们的示例中,我们创建了一个名为 ADMIN 的 Linux 帐户。

配置的密码为 123qwe。

创建要在身份验证测试中使用的 HTML 页。

Copy to Clipboard

在我们的示例中,我们创建了一个名为 TEST 的 HTML 页面。

打开浏览器并输入 Nginx Web 服务器的 IP 地址。

在我们的示例中,浏览器中输入了以下 URL:

• http://192.168.15.11

将显示 Nginx 默认页面。

nginx welcome

打开浏览器并输入 Web 服务器的 IP 地址加上 /test。

在我们的示例中,浏览器中输入了以下 URL:

• http://192.168.15.11/test/test.html

在登录屏幕上输入本地用户名及其密码。

• Username: admin
• 密码: 123qwe

Apache login form

成功登录后,您将有权访问名为 TEST 的目录。

Nginx authentication test

祝贺! 您已经配置了 Nginx 服务器上的 PAM 身份验证。