本教程介紹如何在Ubuntu系統上安裝和配置眾所周知的、安全的VsFTPD(非常安全的文件傳輸協議守護程序)伺服器。FTP或文件傳輸協議是一種常見的網絡協議,用於在兩臺計算機之間傳輸文件或將文件從桌面傳輸到您的網站或web託管伺服器。這些文件可以根據用戶在FTP伺服器上擁有的權限進行上傳和下載。
讓我們一步一步地介紹如何在Ubuntu 18.04 LTS系統上安裝和設置FTP伺服器。這是使用FTP的最基本方法,一旦熟悉了它,就可以轉到更複雜的操作。因為我們在教程中使用Ubuntu命令行,所以您可以通過系統Dash或Ctrl+alt+T快捷方式打開它。
FTP伺服器安裝在這個過程中,我們將在我們的Ubuntu系統上安裝非常安全的FTP守護進程vsftpd。VsFTPD實用程序比本機FTP更強大和安全。
第1步:安裝VsFTPD
為了通過我們的終端安裝VsFTPD包,讓我們首先通過以下命令更新我們的存儲庫:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get update
現在是時候通過以下命令以root身份為VsFTPD安裝最新的二進位包:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get install vsftpd
系統將要求您提供用戶憑證,並可能為您提供Y/n選項以繼續安裝過程。請輸入Y繼續。
安裝完成後,您可以通過檢查安裝的VsFTPD包的版本號來驗證它:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vsftpd -verions
vsftpd: version 3.0.3
以上輸出顯示版本號,並驗證系統上是否已安裝VsFTPD。
第2步:啟動VsFTPD服務安裝VsFTPD時,默認情況下禁用該服務。 讓我們通過以下命令啟動服務:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ systemctl start vsftpd
您將被要求提供用戶身份驗證,如上所述。 輸入您的密碼,然後單擊「驗證」按鈕。 然後將啟動該服務。
您還可以通過以下命令啟用在引導時自動啟動的服務:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ systemctl enable vsftpd
Synchronizing state of vsftpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable vsftpd
出於各種目的,系統會要求您多次提供用戶身份驗證。 輸入您的密碼,然後單擊「驗證」按鈕。
VsFTPD配置安裝完成後,現在讓我們在Ubuntu系統上設置和配置FTP。
步驟1:如果啟用了防火牆,則打開埠20和21
您可以通過以下命令檢查防火牆的狀態:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
[sudo] linuxidc 的密碼:
狀態:不活動
檢查防火牆狀態
如果啟用了防火牆並且狀態為活動狀態,則可以通過以下命令打開埠20和21:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw allow 20/tcp
防火牆規則已更新
規則已更新(v6)
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw allow 21/tcp
防火牆規則已更新
規則已更新(v6)
現在再次查看防火牆的狀態,您將看到這兩個埠打開並允許:
檢查防火牆狀態
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
狀態: 激活
至 動作 來自
- -- --
20/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
20/tcp (v6) ALLOW Anywhere (v6)
21/tcp (v6) ALLOW Anywhere (v6)
步驟2:配置vsftpd.conf文件並啟用SSL/TLS
配置FTP的最重要步驟是在vsftpd配置文件中進行一些更改。 但在對此重要文件進行任何更改之前,讓我們通過以下命令對其進行備份:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
現在,在您喜歡的文本編輯器中打開配置文件。 我們使用nano編輯器編輯此文件:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo nano /etc/vsftpd.conf
要進行最基本的FTP配置,請複製以下文件到vsftpd.conf末尾進行設置:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/linuxmi/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
按Ctrl + X退出並保存文件,然後按Enter鍵。
接下來,您還需要將vsftp用戶添加到/etc/vsftpd.userlist文件以允許FTP訪問:
sudo nano /etc/vsftpd.userlist
添加以下行:
linuxidc@linuxidc:~$ sudo nano /etc/vsftpd.userlist
保存並關閉該文件
第3步:重新啟動VsFTPD服務
更改vsftpd.conf文件後,需要重新啟動VsFTPD服務才能使這些更改生效。以root身份輸入以下命令以重新啟動服務:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo systemctl restart vsftpd
第4步:創建FTP用戶現在讓我們通過以下命令創建一個能夠使用FTP伺服器的FTP用戶:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo useradd -m linuxmi
通過以下命令為該用戶分配密碼:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo passwd linuxmi
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
在此示例中,我們使用linuxmi的名稱創建了一個用戶並為其分配了密碼:
接下來,使用以下命令創建ftp目錄並設置所有權:
linuxidc@linuxidc:~$ sudo mkdir /home/linuxmi/ftp
linuxidc@linuxidc:~$ sudo chown nobody:nogroup /home/linuxmi/ftp
linuxidc@linuxidc:~$ sudo chmod a-w /home/linuxmi/ftp
接下來,創建一個可以上載文件的目錄,並為vsftp用戶提供所有權:
linuxidc@linuxidc:~$ sudo mkdir /home/linuxmi/ftp/test
linuxidc@linuxidc:~$ sudo chown linuxmi:linuxmi /home/linuxmi/ftp/test
讓我們也在新用戶的主目錄中創建一個示例文件。我們在測試FTP連接時將使用此文件:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo sh -c 'echo "Linux公社www.linuxidc.com的測試文件" >/home/linuxmi/ftp/www.linuxidc.com.txt'
測試FTP連接
最後,讓我們測試一下我們的FTP連接。我正在localhost上測試這個連接。您可以使用可用的FTP伺服器來測試您的連接。
測試FTP連接
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:linuxidc): linuxmi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 1001 1001 4096 Oct 20 20:22 test
-rw-r--r-- 1 0 0 43 Oct 20 21:06 www.linuxidc.com.txt
226 Directory send OK.
ftp>
在這裡,您需要提供您創建的用戶的用戶名和密碼才能訪問FTP伺服器。
成功登錄後,可以通過ls命令列出可用文件。在下圖中,您可以看到我們在示例用戶的主目錄中創建的示例文件。
現在,打開Web瀏覽器並輸入URL ftp://localhost/ ,系統將要求您輸入用戶名和密碼以訪問FTP。 輸入您的vsftp用戶名和密碼,然後單擊「 確定」按鈕。 您應該看到以下頁面:
在瀏覽器中使用FTP
您也可以從這裡輕鬆訪問可用文件。
OK,我們介紹了在Ubuntu系統上安裝和配置FTP伺服器的最簡單,最基本的過程。通過執行上述步驟,您可以訪問FTP伺服器並從那裡上載/下載文件。