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

vsftpd 虛擬用戶架設全紀錄:從安裝到多權限驗證

編輯:FTP 伺服器

在 Linux 伺服器上部署 vsftpd 並配合虛擬用戶機制,可實現細粒度的目錄權限控制。本文記錄完整建置流程,供有相同需求的管理員參考。

環境準備

  1. 安裝套件:yum install vsftpd db4-utils -y(或對應套件管理器指令)。
  2. 建立虛擬用戶帳號:規劃 devadmin、sales、saleadm 三組帳號,分別對應不同業務目錄權限。

安裝 vsftpd 與 db 套件

新增虛擬用戶清單

產生認證資料庫

將帳號密碼文字檔透過 db_load 轉換為 Berkeley DB 格式,供 PAM 模組讀取驗證。

db_load 轉換資料庫

建立對應系統用戶與目錄結構

  • 建立映射系統用戶(如 virftp),設定 /sbin/nologin 禁止登入 Shell。
  • 規劃目錄權限:
    • 根目錄 /var/ftp/soft:所有用戶可讀/下載
    • sales、saleadm 專屬目錄:各自讀寫權限隔離
    • devadmin:管理 /var/ftp/soft 完整權限

建立根目錄權限

建立業務用戶目錄

配置 PAM 驗證

編輯 /etc/pam.d/vsftpd,啟用 pam_userdb.so 指向剛建立的 DB 檔案。

PAM 設定檔

修改 vsftpd.conf 主設定

關鍵參數:

guest_enable=YES
guest_username=virftp
user_config_dir=/etc/vsftpd/user_conf
virtual_use_local_privs=YES
pam_service_name=vsftpd

vsftpd.conf 主設定

為每位虛擬用戶建立獨立設定檔

在 /etc/vsftpd/user_conf/ 下分別建立 anonymous、devadmin、sales、saleadm 設定檔,指定 local_root、write_enable、download_enable 等參數實現權限差異。

匿名用戶設定

devadmin 設定

sales 設定

saleadm 設定

重啟服務與驗證

systemctl restart vsftpd 後,分別以四組帳號測試登入、列表、上傳、下載、刪除操作,確認權限符合預期。

重啟服務

匿名登入測試

sales 權限測試

saleadm 權限測試

devadmin 權限測試

常見坑點提醒

  • 防火牆需開放 21/20 埠及被動模式埠範圍
  • SELinux 建議設為 Permissive 或配置 ftp_home_dir 布林值
  • 目錄擁有者/群組需與映射系統用戶一致,否則會出現權限拒絕
  • Windows 客戶端若出現「多重連線」錯誤,嘗試關閉現有連線或重啟客戶端
Copyright © Windows教程網 All Rights Reserved