如何为Apache生成和配置Htpasswd?

今天的世界是不安全的。我们必须提供不同类型的安全措施,如身份验证。在Apache或Nginx等HTTP服务器中,我们可以使用HTTP基本身份验证。HTTP基本身份验证是Web服务器提供的身份验证协议。我们可以使用htpasswd工具创建HTTP基本身份验证数据库和用户。顺便说一下,使用应用程序级身份验证是一个更好的解决方案。

null

安装htpasswd工具

htpasswd 由Apache Utils包为Ubuntu、Debian、Mint和Kali提供。我们可以用以下命令安装它。

$ sudo apt install apache2-utils

为Fedora、CentOS、RHEL安装Htpasswd工具

作为基于RPM的发行版,如Fedora、CentOS和RHEL将Apache命名为 httpd 我们可以安装 htpasswd 使用以下命令。

$ sudo yum install httpd-tools

创建Htpasswd数据库和用户

我们将使用 -c 选项并提供数据库文件名、用户和密码等相关信息。在本例中,我们将创建一个名为 .htpasswd 用户名 ismail 和密码。

$ htpasswd -c .htpasswd ismail
图片[1]-如何为Apache生成和配置Htpasswd?-yiteyi-C++库
创建Htpasswd数据库和用户

列出htpasswd用户

我们可以通过cat命令列出提供数据库文件的现有用户。因为我们名为.htpasswd的文件只是一个文本文件,其中密码以加密格式存储。数据库文件名为 db 位于执行htpasswd命令的当前目录下。

$ cat .htpasswd
List Users
列出用户

我们可以看到db文件的内容,其中有两列用 : . 第一列包含用户名,在本例中为ismail、ahmet、ali,第二列以加密版本存储密码。

相关文章: 如何用Cracklib检查Linux中的密码强度?

更改现有用户密码

我们可以更改现有的用户密码,我们只需要再次提供用户名,就像从头开始创建一样。这会问我们 user 再次输入密码。在本例中,我们将更改 ismail .

$ htpasswd db ismail
Change Existing User Password
更改现有用户密码

从中我们可以看出,我们已经成功地更新了 ismail .

从htpasswd文件中删除用户

如果我们想阻止用户访问,我们应该从数据库中删除用户。我们将使用-D选项并指定要删除的用户名。在本例中,我们将删除名为 ali .

$ htpasswd -D .htpasswd ali
Remove User
删除用户

为Apache配置身份验证

到目前为止,我们已经学会了如何管理用户数据库。在本部分中,我们将研究如何配置Apache进行基本身份验证。以下配置将放入apachemain conf或虚拟主机之类的站点配置中。

   ServerAdmin [email protected]   DocumentRoot /var/www/html      AuthType Basic   AuthName "Restricted Content"   AuthUserFile /etc/apache2/.htpasswd   Require valid-user   
  • 在这个配置中,我们假设我们的数据库文件 db 位于 /etc/apache2/db
  • 此身份验证将应用于目录 /var/www/html

为了进行配置,我们应该在保存配置后重新启动Apache2服务器。

检查HTTP基本身份验证

如果我们试图浏览网页,我们会得到如下提示,这是要求 username password 这些将从我们的 db 文件。

Check HTTP Basic Authentication
检查HTTP基本身份验证

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享