溫馨提示×

vsftp在Ubuntu上如何解決權限問題

小樊
53
2025-09-23 01:14:25
欄目: 智能運維

一、安裝vsftpd

首先確保系統已更新并安裝vsftpd:

sudo apt update
sudo apt install vsftpd

二、配置vsftpd核心參數(解決權限基礎)

編輯配置文件/etc/vsftpd.conf(使用nano或vim):

sudo nano /etc/vsftpd.conf

關鍵設置調整(需取消注釋或新增):

  • 允許本地用戶登錄local_enable=YES
  • 開啟寫入權限write_enable=YES(若需上傳/修改文件)
  • 限制用戶至主目錄(安全推薦)chroot_local_user=YES(將用戶鎖定在自家目錄,避免訪問系統其他路徑)
  • 允許chroot環境寫入allow_writeable_chroot=YES(若啟用chroot_local_user,此選項必設,否則用戶無法在自己的主目錄中創建/修改文件)
  • (可選)限制用戶列表:若需指定允許登錄的用戶,可啟用userlist_enable=YES,并設置userlist_file=/etc/vsftpd.user_list(列表中的用戶方可登錄)。

三、設置FTP用戶及目錄權限

1. 創建FTP用戶(若未創建)

sudo adduser ftpuser  # 按提示設置密碼及信息
sudo usermod -s /sbin/nologin ftpuser  # 可選:禁止shell登錄(增強安全,僅允許FTP訪問)

2. 調整主目錄權限

FTP用戶必須對其主目錄擁有讀+執行權限(目錄權限755),文件權限644(若需上傳文件,主目錄需保留寫權限):

sudo chown -R ftpuser:ftpuser /home/ftpuser  # 將主目錄所有者設為用戶自身
sudo chmod 755 /home/ftpuser                 # 主目錄權限設為755(rwxr-xr-x)
sudo find /home/ftpuser -type f -exec chmod 644 {} \;  # 文件權限設為644(rw-r--r--)

注意:若啟用了chroot_local_user=YES,主目錄的所有者必須為root(避免用戶越權修改目錄結構),此時需調整:

sudo chown root:root /home/ftpuser
sudo chmod 755 /home/ftpuser
# 若需用戶上傳文件,需在主目錄下創建子目錄(如upload),并賦予用戶所有權:
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload

四、重啟vsftpd服務

配置修改后,重啟服務使更改生效:

sudo systemctl restart vsftpd

五、配置防火墻(若啟用)

若服務器開啟了UFW防火墻,需允許FTP端口(默認21)及被動模式端口范圍(如50000-50100):

sudo ufw allow 21/tcp          # FTP控制端口
sudo ufw allow 50000:50100/tcp # 被動模式數據端口(根據實際情況調整)
sudo ufw reload                # 重新加載防火墻規則

六、常見問題排查

  1. 無法登錄:檢查/var/log/vsftpd.log日志文件,查看具體錯誤(如用戶被拒絕、權限不足);確保local_enable=YESwrite_enable=YES已啟用。
  2. 無法上傳文件:確認主目錄權限正確(若在chroot環境中,需創建可寫的子目錄);檢查allow_writeable_chroot=YES是否設置。
  3. 被動模式連接失敗:需在配置文件中添加被動模式端口范圍(pasv_min_port=50000、pasv_max_port=50100),并開放防火墻對應端口。

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