從任何發行套件安裝 Linux 時,預設只有 root 使用者可用。同時,出於安全原因,無法以該使用者身分透過 FTP 進行連線。在本文中,我們將解釋如何僅使用 Linux 控制台命令快速設定 FTP 伺服器並建立使用者。
步驟 1:與伺服器建立安全連接
首先,您需要連接到您的伺服器。您可以使用 SSH(安全外殼)協定執行此操作,該協定提供了一種安全的遠端存取方式。不要以「root」身分登入(預設情況下,這是 Linux 上的管理帳戶),而是使用常規帳戶並透過「sudo」執行命令以獲得額外的安全性。
第 2 步:安裝 FTP 伺服器
下一步是 FTP 伺服器安裝。在本教程中,我們將使用流行的開源 FTP 伺服器「proftpd」。
如果您使用的是 CentOS,請先安裝 EPEL 儲存庫。在終端機中輸入以下命令:
sudo yum install epel-release
sudo yum install proftpd
如果你使用的是 Debian 或 Ubuntu,只需輸入:
sudo apt install proftpd
步驟 3:設定自動 FTP 啟動
安裝 FTP 伺服器後,將其配置為每次伺服器啟動時自動啟動。這是透過以下命令執行的:
sudo systemctl start proftpd.service
sudo systemctl enable proftpd.service
步驟 4:設定防火牆
出於安全目的,您的防火牆必須配置為允許 TCP 連接埠 21 上的傳入連線。具體命令取決於您使用的防火牆管理實用程式。對於“iptables”:
sudo iptables -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT
sudo systemctl save iptables
對於“firewalld”:
sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd –reload
對於 Debian 11 中的“nftables”:
sudo nft add rule ip filter input tcp dport { 21 } ct state new accept
防火牆配置完成後,不要忘記儲存更改,以便重新啟動後應用。對於“iptables”和“firewalld”,這是自動完成的,而對於“nftables”,您需要手動將當前規則儲存到系統啟動時載入的檔案中。
步驟 5:透過國內目錄限制 FTP 用戶
預設情況下,FTP 使用者可以超出其國內目錄,這可能存在安全風險。為了防止這種情況,請將 DefaultRoot ~ 行加入到「proftpd.conf」檔案中。此行透過用戶國內目錄來限制用戶。將其新增至檔案末尾,然後重新啟動 FTP 伺服器:
sudo systemctl restart proftpd.service
步驟 6:建立新的 FTP 用戶
現在您可以建立新的 FTP 使用者了。它不需要命令 shell 訪問,因此出於安全原因請停用它。以下是相關指令:
sudo useradd [username] -d /home/[username] -m -s /usr/sbin/nologin
sudo passwd [username]
用所需的使用者名稱替換 [使用者名稱]。 「passwd」指令將要求您為新使用者輸入密碼。
您現在已經設定了一個 FTP 伺服器並在 Linux 伺服器上建立了一個新的 FTP 使用者。設定時請務必記住安全性。