如何使用 VSFTPD 在 CentOS 8 上設置 FTP 服務器

什麼是FTP?

FTP(文件傳輸協議)是一種客戶端-服務器網絡協議,允許用戶與遠程計算機交換文件。

FTP 使用純文本來傳輸數據和訪問數據。 有幾種不同的開源 FTP 服務器可用於 Linux 操作系統平台。 最常用的 FTP 服務器是 VSFTPD、ProFTPD 和 PureFTPD。 FTP 協議使用端口號 21 進行連接,使用端口號 20 進行數據傳輸。 在被動模式下,使用額外的端口。

在本教程中,我們將學習如何設置和配置 VSFTPD。 它非常安全和穩定,可在 CentOS 8 軟件包存儲庫中使用。

安裝 VSFTP FTP 服務器

要在 CentOS 8 上安裝 VSFTPD 軟件包,請打開終端或以 root 用戶身份通過 SSH 連接到您的服務器,然後輸入以下命令:

# dnf 安裝 –y vsftpd

安裝包後,使用以下命令啟動並啟用 VSFTPD 服務:

# systemctl 啟用 vsftpd # systemctl 啟動 vsftpd

啟動FTP服務

獲取原始配置文件的副本 /etc/vsftpd/vsftpd.conf 通過鍵入以下命令:

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk

製作原始配置文件的備份副本

現在編輯配置文件,使用以下命令:

# vim /etc/vsftpd/vsftpd.conf

使用vim編輯配置文件

在其中查找並設置以下指令:

anonymous_enable=NO # 禁用匿名用戶(未知用戶) local_enable=YES # 允許本地用戶 write_enable=YES # 允許 ftp 寫命令 local_umask=022 # 設置默認 umask dirmessage_enable=YES # 在更改目錄時啟用消息 xferlog_enable=YES # 啟用上傳記錄and downloads connect_from_port_20=YES # 確保 PORT 從端口 20 傳輸連接 xferlog_std_format=YES # 保持標準日誌格式 listen=NO # 防止 vsftpd 在獨立模式下運行 listen_ipv6=YES # 允許 vsftpd 監聽 IPv6 套接字 pam_service_name=vsftpd # 設置 PAM vsftpd 的服務名稱

在 FTP 服務器中配置用戶列表

默認情況下,所有在 用戶列表 文件位於 /etc/vsftpd/user_list允許 使用 FTP 服務。

限制用戶在一個 chroot 環境, 使用以下指令:

chroot_local_user=YES # 為用戶創建 chrooted 環境 allow_writeable_chroot=YES # 允許用戶在 chroot jail 目錄上有寫權限

要將用戶限制在其主目錄中,請使用以下指令:

userlist_enable=YES # 啟用 vsftpd 加載用戶名 userlist_deny=NO # 允許訪問用戶列表中的用戶

如果您想提供對我們系統的整體訪問,請將此指令添加到您的配置文件中:

chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #該文件列表中的用戶具有全局訪問權限

Save 和 close 配置文件。

現在,創建一個 chroot_list 在下面 /etc/vsftpd/ 目錄,通過使用以下命令:

# 觸摸 /etc/vsftpd/chroot_list

Chroot FTP 用戶

僅添加該列表中您希望為其提供系統總體訪問權限的用戶。

創建用戶以訪問 FTP 服務

要創建使用 FTP 服務的用戶,請使用以下命令:

# useradd user1 # passwd user1

將該用戶添加到 用戶列表 文件將用戶限製到他們的主目錄,使用以下命令:

# vim /etc/vsftpd/user_list

類型 ”一世” 插入並輸入該用戶名,如圖:

創建FTP用戶

按ESC並輸入 :wq! 用於保存文件。

如果您想為特定用戶提供對系統的整體訪問權限,請將該用戶添加到 /etc/vsftpd/chroot_list。

重新啟動 VSFTPD 服務:

# systemctl 重啟 vsftpd

應用配置更改

使用以下命令驗證 FTP 服務的狀態:

# systemctl 狀態 vsftpd

檢查 FTP 服務狀態

為 FTP 配置防火牆

要允許 FTP 服務通過防火牆,請使用以下命令:

# firewall-cmd – – add-service = ftp – – 永久 # firewall-cmd – – 重新加載

為 FTP 配置 firewalld

應用防火牆配置更改

從 Windows 機器測試 FTP 服務器

要連接到 FTP 服務器需要一個客戶端軟件。 FTP最常用的軟件是 FileZilla, WINSCP, 等我使用 FileZilla 進行連接。

打開您的 FTP 客戶端軟件,輸入以下詳細信息進行連接:

主持人 — > IP 地址或主機名。

用戶名:FTP用戶名(在我的例子中是user1)

密碼

端口:21

測試 FTP 連接

連接成功後,您可以根據需要上傳/下載文件。

FTP 連接測試成功

結論

在本教程中,我們學習瞭如何在 Centos 8 上設置 FTP 服務器、如何將用戶限制在他們的主目錄以及如何授予他們讀/寫訪問權限。 我們還看到瞭如何授予特定用戶對系統的一般訪問權限。