什麼是 FTP?

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

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

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

安裝 VSFTP FTP 服務器

要在 CentOS 8 上安裝 VSFTPD 軟件包,請以 root 身份打開終端或 SSH 到服務器並輸入以下命令:

# dnf install –y vsftpd

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

# systemctl enable vsftpd
# systemctl start 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 # disable anonymous users(Unknown users)
local_enable=YES # allow local users
write_enable=YES # allow ftp write commands
local_umask=022 # set default umask
dirmessage_enable=YES # enable messages on change directory
xferlog_enable=YES # enable logging of uploads and downloads
connect_from_port_20=YES # ensure PORT transfer connections from port 20 xferlog_std_format=YES # keep standard log format
listen=NO # prevent vsftpd run in stand-alone mode
listen_ipv6=YES # allow vsftpd to listen on IPv6 socket
pam_service_name=vsftpd # set PAM Service name to vsftpd

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

默認情況下,所有 用戶列表 文件與 /etc/vsftpd/user_list 是的 給予許可 使用 FTP 服務。

限制用戶 chroot 環境使用以下命令。

chroot_local_user=YES # Create chrooted environment for users
allow_writeable_chroot=YES # Allow write permission to a user on chroot jail directory

要將用戶限制在您的主目錄中,請使用以下指令。

userlist_enable=YES # enable vsftpd to load usernames
userlist_deny=NO # allow access to users in the user list

如果要提供對系統的全局訪問,請將以下指令添加到配置文件中:

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #users in this file list have an overall access

保存並關閉配置文件。

然後創建 chroot_list 在下面 /etc/vsftpd/ 使用以下命令創建目錄:

# touch /etc/vsftpd/chroot_list

Chroot FTP 用戶

只有提供系統全局訪問權限的用戶才應添加到此列表中。

創建用戶訪問FTP服務

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

# useradd user1
# passwd user1

將此用戶添加到 用戶列表 要使用文件將用戶限制在您的主目錄中,請使用以下命令:

# vim /etc/vsftpd/user_list

類型”一代如圖所示插入並輸入用戶名。

創建 FTP 用戶

按 ESC, : 哇! 用於保存文件。

如果您想授予特定用戶訪問整個系統的權限,請將該用戶添加到。 /etc/vsftpd/chroot_list.

重啟 VSFTPD 服務:

# systemctl restart vsftpd

應用配置更改

使用以下命令檢查 FTP 服務的狀態:

# systemctl status vsftpd

檢查 FTP 服務的狀態

FTP的防火牆配置

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

# firewall-cmd - - add-service = ftp - - permanent
# firewall-cmd - - reload

為 FTP 配置 firewalld

應用防火牆配置更改

從 Windows 機器測試 FTP 服務器

需要客戶端軟件才能連接到 FTP 服務器。 FTP最常用的軟件是 FileZilla, WINSCP, 這樣的。 使用 FileZilla 連接。

打開 FTP 客戶端軟件並輸入以下詳細信息進行連接。

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

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

密碼

端口:21

測試 FTP 連接

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

FTP連接測試成功

結論是

在本教程中,您學習瞭如何在 Centos 8 上設置 FTP 服務器,將用戶限制在他們的主目錄中,並授予用戶讀/寫訪問權限。我們還發現瞭如何允許特定用戶對系統進行一般訪問。