溫馨提示×

Ubuntu FTP Server如何實現用戶管理

小樊
47
2025-10-10 19:49:54
欄目: 智能運維

Ubuntu FTP Server用戶管理指南(以vsftpd為例)
Ubuntu系統中,vsftpd(Very Secure FTP Daemon) 是最主流的FTP服務器軟件,其用戶管理圍繞系統用戶虛擬用戶兩類展開,涵蓋創建、權限配置、訪問控制等核心環節。

一、準備工作:安裝vsftpd

在管理用戶前,需先安裝并啟動vsftpd服務:

sudo apt update
sudo apt install vsftpd
sudo systemctl start vsftpd
sudo systemctl enable vsftpd  # 開機自啟

二、系統用戶管理(常規FTP用戶)

系統用戶是FTP服務器的基礎用戶類型,直接關聯系統賬戶,適用于需要訪問系統資源的場景。

1. 創建系統用戶

使用adduser命令創建用戶(交互式輸入密碼及其他信息):

sudo adduser ftpuser1

或通過命令行直接創建(無交互,適合腳本自動化):

sudo useradd -m ftpuser2 -s /bin/bash  # -m創建家目錄,-s指定shell
sudo passwd ftpuser2  # 設置密碼

2. 配置用戶權限

為確保FTP用戶只能訪問自己的家目錄(提升安全性),需修改vsftpd配置文件:

sudo nano /etc/vsftpd.conf

關鍵配置項(取消注釋或添加):

local_enable=YES      # 允許本地系統用戶登錄
write_enable=YES      # 允許用戶上傳/修改文件
chroot_local_user=YES # 將用戶限制在家目錄(“chroot jail”)
allow_writeable_chroot=YES  # 允許chroot目錄可寫(避免權限沖突)

保存后重啟vsftpd服務:

sudo systemctl restart vsftpd

3. 管理用戶目錄權限

FTP用戶的家目錄需歸屬該用戶,且權限設置為755(用戶可讀寫執行,其他用戶僅可讀):

sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1  # 歸屬用戶及組
sudo chmod 755 /home/ftpuser1                   # 設置權限

三、虛擬用戶管理(推薦:隔離系統用戶)

虛擬用戶是FTP專用用戶,不關聯系統賬戶,適用于需要嚴格隔離的場景(如公共FTP服務)。

1. 準備虛擬用戶數據庫

創建虛擬用戶信息文件(格式:用戶名:密碼,每行一個用戶):

sudo nano /etc/vsftpd/virtual_users.txt

添加用戶(如ftpvirt1/password123):

ftpvirt1:password123
ftpvirt2:password456

將文本文件轉換為vsftpd可識別的數據庫格式(.db):

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  # 保護數據庫文件

2. 配置vsftpd使用虛擬用戶

修改vsftpd配置文件:

sudo nano /etc/vsftpd.conf

添加/修改以下配置(關鍵項):

guest_enable=YES              # 啟用虛擬用戶
guest_username=ftpvirt_common # 虛擬用戶映射的系統賬戶(需提前創建)
virtual_use_local_privs=YES   # 虛擬用戶繼承系統用戶權限
user_sub_token=$USER          # 動態生成用戶家目錄(如/var/ftp/$USER)
local_root=/var/ftp/$USER     # 虛擬用戶家目錄路徑
chroot_local_user=YES         # 限制虛擬用戶在其家目錄
allow_writeable_chroot=YES    # 允許家目錄可寫

說明

  • guest_username需指向一個系統用戶(用于承載虛擬用戶的文件操作),若未創建需先執行:
    sudo useradd -m ftpvirt_common -s /sbin/nologin  # -s禁止登錄系統
    sudo mkdir -p /var/ftp         # 虛擬用戶根目錄
    sudo chown ftpvirt_common:ftpvirt_common /var/ftp  # 歸屬權限
    

3. 重啟服務生效

sudo systemctl restart vsftpd

四、用戶訪問控制(可選)

通過user_list文件可進一步控制用戶訪問權限(允許/拒絕特定用戶):

sudo nano /etc/vsftpd.user_list

添加允許登錄的用戶(每行一個):

ftpuser1
ftpvirt1

修改vsftpd配置文件,啟用用戶列表:

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO  # 設為NO表示“白名單”(僅允許列表內用戶登錄),設為YES則為“黑名單”

五、測試FTP連接

使用FTP客戶端(如FileZilla)連接服務器,輸入虛擬用戶或系統用戶的賬號密碼,驗證是否能正常登錄及訪問對應目錄。

通過以上步驟,可實現Ubuntu FTP Server的用戶管理,滿足不同場景的安全需求。需注意:FTP協議本身不加密,建議啟用TLS(vsftpd配置中設置ssl_enable=YES)或改用SFTP(基于SSH)提升傳輸安全性。

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