博客 / 詳情

返回

Linux 中 Apache + htpasswd 綜合指南

Apache + .hpasswd Directory Protection

保護您的 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 服務器的文檔根目錄之外,以避免將其暴露給用户。
  • 定期檢查你的密碼文件中過期或未使用的帳户。
  • 為每個用户使用強大且唯一的密碼。

我的開源項目

酷瓜雲課堂-在線教育解決方案

  • course-tencent-cloud(酷瓜雲課堂 - gitee倉庫)
  • course-tencent-cloud(酷瓜雲課堂 - github倉庫)
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.