.htpasswd is a flat-file used to store usernames and password. This file is generally used by the web server software like Apache, Nginx, etc. in order to verify the users via HTTP basic authentication.

.htpasswd是用于存储用户名和密码的平面文件。 该文件通常由Web服务器软件(例如Apache,Nginx等)使用,以便通过HTTP基本身份验证来验证用户。

什么是.htpasswd文件内容? (What Are .htpasswd File Contents?)

.htpasswd is a flat or text file that contains ASCII text. .htpaswd file structures are very simple where every line stores a username and related passwords. The user name and password are delimited with a colon sign. Also, the password is stored in an encrypted way, not a clear text format in order to make the password secure. Below we can see that there are 3 lines where users ismail, ahmet, ali are configured with their encrypted password.

.htpasswd是包含ASCII文本的平面文件或文本文件。 .htpaswd文件结构非常简单,其中每一行都存储一个用户名和相关密码。 用户名和密码用冒号分隔。 同样,密码以加密方式(不是明文格式)存储,以确保密码安全。 在下面我们可以看到在3行中,用户ismail,ahmet,ali用其加密密码进行了配置。

  1. ismail:$apr1$/5EzxSg3$SXVemrqNIb/TrKvJv4Z5r0
  2. ahmet:$apr1$cEKbD/Wa$M012WG8Txqp/dhso8.znk0
  3. ali:$apr1$o/t1Efly$E7798GsGjMWoNUpqmG4l60

如何创建.httpaswd文件? (How To Create .httpaswd File?)

The .htpasswd file can be created by using htpasswd command or the touch command or a text editor. But the most appropriate way is using the httpasswd command. Also the .htpasswd file content can be edited by using the htpasswd command too. Below we will create the .htpasswd file by using the htpasswd command where we will provide the file name with the -c option.

可以使用htpasswd命令或touch命令或文本编辑器来创建.htpasswd文件。 但是*合适的方法是使用httpasswd命令。 同样,也可以使用htpasswd命令来编辑.htpasswd文件内容。 下面,我们将使用htpasswd命令创建.htpasswd文件,在该文件中,我们将使用-c选项提供文件名。

$ htpasswd -c .htpasswd ismail
%title插图%num
How To Create .httpaswd File?
如何创建.httpaswd文件?

Or for the .htpasswd file we can specify the complete path or full path like below.

或者,对于.htpasswd文件,我们可以指定完整路径或完整路径,如下所示。

$ htpasswd -c /var/www/mysite/.htpasswd ismail

Alternatively, we can use the touch command where the created .htpasswd file will be an empty file with just its name.

或者,我们可以使用touch命令,其中创建的.htpasswd文件将是一个只有其名称的空文件。

$ touch .htpasswd

Another alternative to create .htpasswd file is used a command line or GUI text editor. As an example we will use the nano text editor but alternatively the text editors like vi, vim, KWrite can be used.

创建.htpasswd文件的另一种方法是使用命令行或GUI文本编辑器。 作为示例,我们将使用nano文本编辑器,但也可以使用vi,vim,KWrite等文本编辑器。

$ nano .htpasswd

配置.htpasswd文件 (Configure .htpasswd File)

As .htpasswd file is used for Apache and related web server software to create user authentication we should configures the web server to use the .htpasswd file. Below we will enable the HTTP basic authentication by specifying the .htpasswd file for username and password.

由于.htpasswd文件用于Apache和相关的Web服务器软件来创建用户身份验证,因此我们应将Web服务器配置为使用.htpasswd文件。 下面,我们通过为用户名和密码指定.htpasswd文件来启用HTTP基本认证。

  1. AuthUserFile /var/www/mysite/.htpasswd
  2. AuthType Basic
  3. AuthName “Poftut HTTP Authentication”
  4. Require valid-user
LEARN MORE  Understanding and Configuring Apache Access Log