Ubuntu vsftpd權限管理指南
vsftpd(Very Secure FTP Daemon)是Ubuntu系統上常用的FTP服務器軟件,其權限管理主要圍繞用戶訪問控制、目錄權限設置、寫入權限配置等方面展開。以下是詳細的權限管理步驟及關鍵配置說明:
在配置權限前,需先確保vsftpd已安裝。若未安裝,可通過以下命令完成安裝:
sudo apt update
sudo apt install vsftpd
vsftpd的主配置文件為/etc/vsftpd.conf,權限管理的核心選項均在此文件中調整。以下是關鍵配置項及說明:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_local_user,需此選項允許用戶在主目錄內寫入文件。allow_writeable_chroot=YES
通過用戶列表文件/etc/vsftpd.user_list可精確控制允許/拒絕訪問的用戶:
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
/etc/vsftpd.user_list,每行輸入一個用戶名(如ftpuser1、ftpuser2)。022表示文件權限為644,目錄為755)。local_umask=022
xferlog_enable=YES
使用adduser命令創建系統用戶,并設置密碼:
sudo adduser ftpuser1
注意:為提高安全性,需禁用用戶的shell訪問權限(防止通過SSH登錄):
sudo usermod -s /sbin/nologin ftpuser1
確保用戶主目錄的歸屬和權限正確,避免訪問被拒絕:
sudo chown ftpuser1:ftpuser1 /home/ftpuser1 # 將主目錄所有者設為用戶自身
sudo chmod 755 /home/ftpuser1 # 允許用戶讀/寫/執行,其他用戶僅讀/執行
若需限制用戶對目錄內文件的訪問權限(如public_html目錄),可單獨調整:
sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1/public_html # 設為目錄所有者
sudo chmod 644 /home/ftpuser1/public_html/* # 文件權限為644(所有者可讀寫,其他用戶只讀)
若服務器啟用了防火墻(如ufw),需開放FTP相關端口:
sudo ufw allow 21/tcp # FTP默認控制端口
sudo ufw allow 20/tcp # FTP數據傳輸端口(主動模式)
sudo ufw allow 30000:31000/tcp # 被動模式端口范圍(根據實際情況調整)
sudo ufw reload # 重新加載防火墻規則
修改配置文件后,需重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
write_enable=YES是否開啟,主目錄權限是否正確(chmod 755)。chroot_local_user=YES和allow_writeable_chroot=YES已設置,且主目錄所有者為用戶自身。userlist_enable=YES時,用戶是否在/etc/vsftpd.user_list中且userlist_deny=NO。通過以上步驟,可實現Ubuntu系統上vsftpd的精細化權限管理,兼顧安全性與易用性。