萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

vsftpd 建立虛擬用戶完整教學:資料庫、PAM、權限與配置全攻略

Linux 下為 vsftpd 打造虛擬用戶 FTP 服務完整流程

虛擬用戶不佔用系統帳號,透過資料庫驗證並映射至單一系統用戶,安全且易管理。本文涵蓋資料庫建立、PAM 設定、目錄授權與 vsftpd 詳細配置。

一、建立虛擬用戶資料庫文字檔

vi /tmp/logins.txt

內容格式(用戶名與密碼各佔一行,無空格):

longyufei
1985731
liushuai
123456

二、轉換為 Berkeley DB 雜湊資料庫

db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db

三、建立 PAM 認證配置

vi /etc/pam.d/ftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

四、建立映射系統用戶與 FTP 根目錄

useradd -d /ftp -s /sbin/nologin virtual
chown -R virtual:virtual /ftp
  • -d /ftp:指定主目錄
  • -s /sbin/nologin:禁止系統登入
  • virtual:所有虛擬用戶映射的系統帳號

五、修改 vsftpd.conf 核心設定

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
connect_from_port_20=YES
listen=YES
listen_port=21
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/user_config_dir
pam_service_name=ftp.vu
local_root=/www

關鍵參數說明:

  • guest_enable=YES:啟用虛擬用戶
  • guest_username=virtual:映射至系統用戶 virtual
  • user_config_dir:個別用戶配置目錄
  • pam_service_name=ftp.vu:對應 PAM 設定檔
  • local_root=/www:預設 FTP 根目錄

六、設定個別虛擬用戶權限

vi /etc/vsftpd/user_config_dir/longyufei
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/longyufei
anon_mkdir_write_enable=YES

至此,用戶 longyufei 擁有 /www/longyufei 完整讀寫權限。

copyright © 萬盛學電腦網 all rights reserved