Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

CentOS 7 安裝與設定 vsftpd FTP 伺服器完整教學

編輯:Linux 系統常見問題解答

vsftpd (Very Secure FTP Daemon) 是 Linux 常用 FTP 服務軟體。以下為 CentOS 7 安裝、防火牆開放、匿名登入關閉、虛擬使用者建立、權限設定的完整步驟。

1. 安裝 vsftpd

# 檢查是否已安裝
rpm -qa | grep vsftpd

# YUM 安裝
yum install vsftpd -y

2. 開放防火牆 21 埠

vi /etc/sysconfig/iptables
# 加入規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

# 重啟防火牆
service iptables restart

3. 啟動服務並設定開機自啟

service vsftpd start
chkconfig vsftpd on
netstat -tunlp | grep vsftpd
# 出現 tcp 0 0 0.0.0.0:21 表示正常

4. 關閉匿名登入

vi /etc/vsftpd/vsftpd.conf
# 修改
anonymous_enable=NO
# 重啟服務
service vsftpd restart

5. 建立 FTP 使用者(僅限 FTP、無 Shell)

# 指定家目錄、禁止登入 Shell
useradd -d /var/ftp/pub -s /sbin/nologin ftpuser
passwd ftpuser
# 設定目錄權限
chmod 777 /var/ftp/pub

6. 進階:虛擬使用者、chroot 限制目錄、多使用者權限區隔

  • 建立虛擬使用者清單 → db_load 轉為 Berkeley DB。
  • 設定 PAM 驗證 /etc/pam.d/vsftpd。
  • 主設定檔啟用 guest_enable=YES、virtual_use_local_privs=YES、user_config_dir=/etc/vsftpd/user_conf。
  • 各使用者建立專屬設定檔指定 local_root、write_enable、anon_upload_enable 等權限。

常見問題排查

  • SELinux 阻擋:setsebool -P ftpd_full_access on 或暫時 setenforce 0。
  • 被動模式連接失敗:設定 pasv_min_port/pasv_max_port 並開放防火牆對應埠範圍。
  • 權限錯誤:確認目錄擁有者/群組與 SELinux 標籤(restorecon -R /var/ftp)。
Copyright © Windows教程網 All Rights Reserved