本教程介紹如何在Ubuntu系統(tǒng)上安裝和配置眾所周知的、安全的VsFTPD(非常安全的文件傳輸協(xié)議守護程序)服務器。FTP或文件傳輸協(xié)議是一種常見的網絡協(xié)議,用于在兩臺計算機之間傳輸文件或將文件從桌面?zhèn)鬏數(shù)侥木W站或web托管服務器。這些文件可以根據(jù)用戶在FTP服務器上擁有的權限進行上傳和下載。
讓我們一步一步地介紹如何在Ubuntu 18.04 LTS系統(tǒng)上安裝和設置FTP服務器。這是使用FTP的最基本方法,一旦熟悉了它,就可以轉到更復雜的操作。因為我們在教程中使用Ubuntu命令行,所以您可以通過系統(tǒng)Dash或Ctrl+alt+T快捷方式打開它。
FTP服務器安裝
在這個過程中,我們將在我們的Ubuntu系統(tǒng)上安裝非常安全的FTP守護進程vsftpd。VsFTPD實用程序比本機FTP更強大和安全。
第1步:安裝VsFTPD
為了通過我們的終端安裝VsFTPD包,讓我們首先通過以下命令更新我們的存儲庫:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get update
現(xiàn)在是時候通過以下命令以root身份為VsFTPD安裝最新的二進制包:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get install vsftpd
系統(tǒng)將要求您提供用戶憑證,并可能為您提供Y/n選項以繼續(xù)安裝過程。請輸入Y繼續(xù)。
安裝完成后,您可以通過檢查安裝的VsFTPD包的版本號來驗證它:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vsftpd -verions
vsftpd: version 3.0.3
以上輸出顯示版本號,并驗證系統(tǒng)上是否已安裝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
出于各種目的,系統(tǒng)會要求您多次提供用戶身份驗證。 輸入您的密碼,然后單擊“驗證”按鈕。
VsFTPD配置
安裝完成后,現(xiàn)在讓我們在Ubuntu系統(tǒng)上設置和配置FTP。
步驟1:如果啟用了防火墻,則打開端口20和21
您可以通過以下命令檢查防火墻的狀態(tài):
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
[sudo] linuxidc 的密碼:
狀態(tài):不活動
檢查防火墻狀態(tài)
如果啟用了防火墻并且狀態(tài)為活動狀態(tài),則可以通過以下命令打開端口20和21:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw allow 20/tcp
防火墻規(guī)則已更新
規(guī)則已更新(v6)
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw allow 21/tcp
防火墻規(guī)則已更新
規(guī)則已更新(v6)
現(xiàn)在再次查看防火墻的狀態(tài),您將看到這兩個端口打開并允許:
檢查防火墻狀態(tài)
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
狀態(tài): 激活
至 動作 來自
– — —
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
現(xiàn)在,在您喜歡的文本編輯器中打開配置文件。 我們使用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步:創(chuàng)建FTP用戶
現(xiàn)在讓我們通過以下命令創(chuàng)建一個能夠使用FTP服務器的FTP用戶:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo useradd -m linuxmi
通過以下命令為該用戶分配密碼:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo passwd linuxmi
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
在此示例中,我們使用linuxmi的名稱創(chuàng)建了一個用戶并為其分配了密碼:
接下來,使用以下命令創(chuàng)建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
接下來,創(chuàng)建一個可以上載文件的目錄,并為vsftp用戶提供所有權:
linuxidc@linuxidc:~$ sudo mkdir /home/linuxmi/ftp/test
linuxidc@linuxidc:~$ sudo chown linuxmi:linuxmi /home/linuxmi/ftp/test
讓我們也在新用戶的主目錄中創(chuàng)建一個示例文件。我們在測試FTP連接時將使用此文件:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo sh -c ‘echo “Linux公社www.linuxidc.com的測試文件” >/home/linuxmi/ftp/www.linuxidc.com.txt’