溫馨提示×

Ubuntu如何設置vsftp虛擬用戶

小樊
44
2025-10-16 05:07:06
欄目: 云計算

Ubuntu設置vsftpd虛擬用戶的詳細步驟

1. 安裝vsftpd

首先確保系統已安裝vsftpd,若未安裝則執行以下命令:

sudo apt update
sudo apt install vsftpd

2. 準備虛擬用戶信息文件

創建用于存儲虛擬用戶賬號的文本文件(如virtual_users.txt),每行依次填寫用戶名密碼(無額外空格):

sudo touch /etc/vsftpd/virtual_users.txt
sudo chmod 600 /etc/vsftpd/virtual_users.txt
sudo nano /etc/vsftpd/virtual_users.txt

示例內容(添加兩個虛擬用戶user1user2):

user1
password1
user2
password2

3. 生成虛擬用戶數據庫

安裝db-util工具(用于將文本文件轉換為vsftpd可識別的數據庫格式):

sudo apt install db-util

使用db_load命令生成哈希數據庫(提升安全性):

sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
sudo chmod 600 /etc/vsftpd/virtual_users.db  # 限制數據庫文件權限

4. 配置PAM認證

創建專用于虛擬用戶的PAM配置文件(如vsftpd-virtual),指定數據庫路徑:

sudo nano /etc/pam.d/vsftpd-virtual

添加以下內容(替換為實際數據庫文件名):

auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users

5. 創建系統用戶(虛擬用戶映射)

虛擬用戶需映射到系統用戶才能訪問文件系統。創建專用系統用戶(如ftpuser),并設置其主目錄:

sudo adduser --system --home /home/ftpuser --no-create-home --shell /usr/sbin/nologin ftpuser
sudo chown -R ftpuser:ftpuser /home/ftpuser  # 設置目錄所有權

6. 配置vsftpd主配置文件

編輯vsftpd主配置文件(/etc/vsftpd.conf),啟用虛擬用戶并調整相關參數:

sudo nano /etc/vsftpd.conf

修改或添加以下關鍵配置(刪除原有沖突配置):

# 基礎設置
listen=YES
listen_ipv6=NO
anonymous_enable=NO  # 禁用匿名用戶
local_enable=YES     # 允許本地用戶(含虛擬用戶)
write_enable=YES     # 允許上傳文件

# 虛擬用戶相關
guest_enable=YES          # 啟用虛擬用戶
guest_username=ftpuser    # 虛擬用戶映射的系統用戶
virtual_use_local_privs=YES  # 虛擬用戶使用本地用戶權限
user_sub_token=$USER      # 用戶子目錄占位符
local_root=/home/ftpuser/$USER  # 虛擬用戶根目錄(動態生成)

# 安全設置
chroot_local_user=YES     # 鎖定用戶到主目錄
allow_writeable_chroot=YES  # 允許chroot目錄可寫(避免登錄錯誤)
pam_service_name=vsftpd-virtual  # 指定PAM配置文件

7. 創建虛擬用戶目錄

為每個虛擬用戶創建專屬FTP目錄(基于local_root配置):

sudo mkdir -p /home/ftpuser/user1
sudo mkdir -p /home/ftpuser/user2
sudo chown -R ftpuser:ftpuser /home/ftpuser  # 確保目錄權限正確

8. 重啟vsftpd服務

應用所有配置變更:

sudo systemctl restart vsftpd

9. 測試虛擬用戶登錄

使用FTP客戶端(如FileZilla、WinSCP或命令行ftp)連接服務器,輸入虛擬用戶名(如user1)和密碼,驗證是否能成功登錄并訪問對應目錄(如/home/ftpuser/user1)。

注意事項

  • 若需調整虛擬用戶權限(如允許下載、上傳),可修改local_root目錄下的vsftpd配置文件(如/etc/vsftpd_user_conf/user1),但本例中未啟用個性化配置,故無需額外步驟。
  • 確保防火墻允許FTP流量(默認端口21),若使用被動模式需開放額外端口范圍。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女