29.16. 使用用户身份验证.dbmpasswd密码文件

只有当您考虑为您的网站使用访问文件身份验证系统时,此步骤才是必要的。当您需要使用用户密码保护您网站的某些部分时,会使用访问文件身份验证。对于 Apache,有很多选项可以使用用户名和密码来保护您的网站。

  1. Apache 的 dbmmanage 程序实用工具可用于创建和更新 HTTP 用户的用户名和密码。此方法使用 DBM 格式文件,当您需要在密码文件中管理数千个用户时,这是最快的方法。首先,重要的是将此程序的权限更改为0750/-rwxr-x---,仅超级用户可写root,组可读和可执行,其他用户没有任何权限。

    1. 要更改 dbmmanage 程序的权限,请使用以下命令
                    [root@deep ]/# chmod 750 /usr/bin/dbmmanage
                  

    2. 要创建用户名和密码,请使用以下命令
                    [root@deep ]/# /usr/bin/dbmmanage  /etc/httpd/.dbmpasswd adduser username
                  
      
                    New password:
                    Re-type new password:
                    User username added with password encrypted to l4jrdAL9MH0K.
                  
      其中 </etc/httpd> 是密码文件的位置,<.dbmpasswd> 是密码文件的名称,<username> 是您要添加到您的.dbmpasswd文件中的用户名。

  2. 如果您使用 Apache Web 服务器的 dbmmanage 实用工具来创建密码和用户名,请不要忘记在您的/etc/httpd/conf/httpd.conf配置文件中包含您需要使用用户密码身份验证保护的网站部分:编辑httpd.conf文件 vi/etc/httpd/conf/httpd.conf并添加以下行以保护private您网站的 private 目录ona使用用户密码身份验证
              <Directory "/home/httpd/ona/private">
              Options None
              AllowOverride AuthConfig
              AuthName "restricted stuff"
              AuthType Basic
              AuthDBUserFile /etc/httpd/.dbmpasswd
              require valid-user
              </Directory>
            
    路径 </home/httpd/ona/private> 指定了我们要使用密码和用户名保护的目录,</etc/httpd/.dbmpasswd> 指定了密码文件的位置。要将 DB 密码身份验证模块添加到您的 Apache Web 服务器,您必须确保在 Apache 的配置时包含它,并使用以下参数--add-module=src/modules/standard/mod_auth_db.c。有关更多信息,请参阅您的 Apache 文档。

  3. 您必须重启 Apache Web 服务器才能使更改生效:要重启 Apache,请使用以下命令
              [root@deep ]/# /etc/rc.d/init.d/httpd restart
            
    
              Shutting down http:                                        	[  OK  ]
              Starting httpd:                                            	[  OK  ]
            

  4. 最后,我们必须测试新的受保护目录,名为private。要验证它是否工作,请将您的 Web 浏览器指向以下地址http://my-web-server/private/。<my-web-server> 是您的 Apache Web 服务器所在的地址。</private/> 是我们要使用用户密码身份验证保护的目录。

Apache password

29.16.1. 保护配置文件,例如httpd.conf

正如我们已经知道的,immutable 位可以用来防止删除、覆盖或创建文件的符号链接。一旦您的httpd.conf文件配置完成,最好使用以下命令保护它
          [root@deep ]/# chattr  +i /etc/httpd/conf/httpd.conf