Linux 中 Apache + htpasswd 综合指南

保护您的 Web 目录是 Web 服务器的一个关键方面,而 htpasswd 是实现这一点的重要工具。
了解 htpasswd
htpasswd 命令是一个用于创建和更新用户数据库的实用程序,用于 web 服务器(如 Apache)的基本身份验证。该工具允许您创建密码文件,添加用户,修改密码,删除用户,同时加密存储的密码。
安装 htpasswd
htpasswd 命令是 Apache HTTP Server 包的一部分。
For Debian/Ubuntu
sudo apt-get update
sudo apt-get install apache2-utils
For CentOS/RHEL
sudo yum install httpd-tools
For Fedora
sudo dnf install httpd-tools
基本语法和选项
htpasswd 命令的基本语法如下:
htpasswd [options] password-file username
一些常见的选项包括:
-
-c: 创建新的密码文件 -
-n: 在标准输出中显示结果,而不更新密码文件 -
-b: 使用命令行提供密码,而不是提示密码 -
-D: 从密码文件中删除指定用户 -
-m: 对密码使用 MD5 Hash (大多数系统默认)
创建和管理密码文件
创建新的密码文件
htpasswd -c /path/to/your/.htpasswd username
将新用户添加到现有密码文件中
htpasswd /path/to/your/.htpasswd new_username
更新用户密码
htpasswd /path/to/your/.htpasswd existing_username
删除用户
htpasswd -D /path/to/your/.htpasswd username_to_delete
实际示例
为新用户创建一个新的密码文件
htpasswd -c /etc/apache2/.htpasswd john
使用预定义密码添加新用户
htpasswd -b /etc/apache2/.htpasswd jane mysecretpassword
配置 Apache 身份验证
要配置 Apache 使用 .htpasswd 文件进行身份验证,在站点配置文件或 .htaccess 文件中添加如下行:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/your/.htpasswd
Require valid-user
注意事项
- 确保 .htpasswd 的文件权限受到限制,以防止未经授权的访问。
- 将 .htpasswd 文件保存在 web 服务器的文档根目录之外,以避免将其暴露给用户。
- 定期检查你的密码文件中过期或未使用的帐户。
- 为每个用户使用强大且唯一的密码。
我的开源项目
评论已关闭
