Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Apache 用戶認證實作指南:文本檔與資料庫兩種儲存方式完整範例

編輯:關於伺服器

Apache 內建靈活的用戶認證機制,支援以文本檔或資料庫儲存帳號密碼。本文以 Linux 環境為例,詳細說明基於文本檔的 Basic 認證設定流程,並提供多種進階授權場景範例。

三步驟建立認證授權

  1. 建立用戶庫
  2. 配置伺服器保護域
  3. 指定允許存取的用戶/群組

基本範例:保護 /home/ftp/pub 目錄

1. 建立密碼檔與群組檔

# 建立用戶 xuanfei
htpasswd -c /etc/.password xuanfei

# 建立群組檔
vi /etc/.group
# 內容:
xuanfei-group:xuanfei xuanfei1

2. httpd.conf 設定保護域

<Directory /home/ftp/pub>
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
</Directory>

或將設定獨立放入 /etc/httpd/conf.d/ 下的 .conf 檔。

3. 目錄下放置 .htaccess

AuthName "shared files"
AuthType Basic
AuthUserFile /etc/.password
Require valid-user
# Require group xuanfei-group  # 僅允許特定群組
# Require user xuanfei         # 僅允許特定用戶

進階場景範例

場景 A:特定網段免認證,外部需認證

內網 10.45.63.0/24 免驗證,撥接用戶需輸入帳密。

# httpd.conf
<Directory /home/ftp/pub>
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig
    Order deny,allow
    Deny from 10.45.63.1
</Directory>

# .htaccess
AuthName "shared files"
AuthType Basic
AuthUserFile /etc/.passwd
Require valid-user
Satisfy any

場景 B:子目錄權限更嚴格

/home/ftp/pub 所有用戶可存取,但 /home/ftp/pub/host 僅限 manager 群組(user1, user2)。

# httpd.conf
<Directory /home/ftp/pub> ... </Directory>
<Directory /home/ftp/pub/host> ... </Directory>

# /home/ftp/pub/.htaccess
AuthName "shared files"
AuthType Basic
AuthUserFile /etc/.passwd
Require valid-user

# /home/ftp/pub/host/.htaccess
AuthName "shared files"
AuthType Basic
AuthUserFile /etc/.passwd
AuthGroupFile /etc/.hostgroup
Require group manager

# /etc/.hostgroup
manager: user1 user2

Windows 環境補充

Windows 下同樣適用,僅路徑格式不同(如 C:/Apache/passwd),htpasswd.exe 位於 Apache bin 目錄,其餘指令完全相同。

Copyright © Windows教程網 All Rights Reserved