本教程介紹如何在Ubuntu系統(tǒng)上安裝和配置眾所周知的、安全的VsFTPD(非常安全的文件傳輸協(xié)議守護(hù)程序)服務(wù)器。FTP或文件傳輸協(xié)議是一種常見(jiàn)的網(wǎng)絡(luò)協(xié)議,用于在兩臺(tái)計(jì)算機(jī)之間傳輸文件或?qū)⑽募淖烂鎮(zhèn)鬏數(shù)侥木W(wǎng)站或web托管服務(wù)器。這些文件可以根據(jù)用戶在FTP服務(wù)器上擁有的權(quán)限進(jìn)行上傳和下載。
讓我們一步一步地介紹如何在Ubuntu 18.04 LTS系統(tǒng)上安裝和設(shè)置FTP服務(wù)器。這是使用FTP的最基本方法,一旦熟悉了它,就可以轉(zhuǎn)到更復(fù)雜的操作。因?yàn)槲覀冊(cè)诮坛讨惺褂肬buntu命令行,所以您可以通過(guò)系統(tǒng)Dash或Ctrl+alt+T快捷方式打開(kāi)它。
FTP服務(wù)器安裝
在這個(gè)過(guò)程中,我們將在我們的Ubuntu系統(tǒng)上安裝非常安全的FTP守護(hù)進(jìn)程vsftpd。VsFTPD實(shí)用程序比本機(jī)FTP更強(qiáng)大和安全。
第1步:安裝VsFTPD
為了通過(guò)我們的終端安裝VsFTPD包,讓我們首先通過(guò)以下命令更新我們的存儲(chǔ)庫(kù):
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get update
現(xiàn)在是時(shí)候通過(guò)以下命令以root身份為VsFTPD安裝最新的二進(jìn)制包:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get install vsftpd
系統(tǒng)將要求您提供用戶憑證,并可能為您提供Y/n選項(xiàng)以繼續(xù)安裝過(guò)程。請(qǐng)輸入Y繼續(xù)。
安裝完成后,您可以通過(guò)檢查安裝的VsFTPD包的版本號(hào)來(lái)驗(yàn)證它:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vsftpd -verions
vsftpd: version 3.0.3
以上輸出顯示版本號(hào),并驗(yàn)證系統(tǒng)上是否已安裝VsFTPD。
第2步:?jiǎn)?dòng)VsFTPD服務(wù)
安裝VsFTPD時(shí),默認(rèn)情況下禁用該服務(wù)。 讓我們通過(guò)以下命令啟動(dòng)服務(wù):
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ systemctl start vsftpd
您將被要求提供用戶身份驗(yàn)證,如上所述。 輸入您的密碼,然后單擊“驗(yàn)證”按鈕。 然后將啟動(dòng)該服務(wù)。
您還可以通過(guò)以下命令啟用在引導(dǎo)時(shí)自動(dòng)啟動(dòng)的服務(wù):
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)會(huì)要求您多次提供用戶身份驗(yàn)證。 輸入您的密碼,然后單擊“驗(yàn)證”按鈕。
VsFTPD配置
安裝完成后,現(xiàn)在讓我們?cè)赨buntu系統(tǒng)上設(shè)置和配置FTP。
步驟1:如果啟用了防火墻,則打開(kāi)端口20和21
您可以通過(guò)以下命令檢查防火墻的狀態(tài):
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
[sudo] linuxidc 的密碼:
狀態(tài):不活動(dòng)
檢查防火墻狀態(tài)
如果啟用了防火墻并且狀態(tài)為活動(dòng)狀態(tài),則可以通過(guò)以下命令打開(kā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),您將看到這兩個(gè)端口打開(kāi)并允許:
檢查防火墻狀態(tài)
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
狀態(tài): 激活
至 動(dòng)作 來(lá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配置文件中進(jìn)行一些更改。 但在對(duì)此重要文件進(jìn)行任何更改之前,讓我們通過(guò)以下命令對(duì)其進(jìn)行備份:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
現(xiàn)在,在您喜歡的文本編輯器中打開(kāi)配置文件。 我們使用nano編輯器編輯此文件:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo nano /etc/vsftpd.conf
要進(jìn)行最基本的FTP配置,請(qǐng)復(fù)制以下文件到vsftpd.conf末尾進(jìn)行設(shè)置:
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鍵。
接下來(lái),您還需要將vsftp用戶添加到/etc/vsftpd.userlist文件以允許FTP訪問(wèn):
sudo nano /etc/vsftpd.userlist
添加以下行:
linuxidc@linuxidc:~$ sudo nano /etc/vsftpd.userlist
保存并關(guān)閉該文件
第3步:重新啟動(dòng)VsFTPD服務(wù)
更改vsftpd.conf文件后,需要重新啟動(dòng)VsFTPD服務(wù)才能使這些更改生效。以root身份輸入以下命令以重新啟動(dòng)服務(wù):
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo systemctl restart vsftpd
第4步:創(chuàng)建FTP用戶
現(xiàn)在讓我們通過(guò)以下命令創(chuàng)建一個(gè)能夠使用FTP服務(wù)器的FTP用戶:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo useradd -m linuxmi
通過(guò)以下命令為該用戶分配密碼:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo passwd linuxmi
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
在此示例中,我們使用linuxmi的名稱(chēng)創(chuàng)建了一個(gè)用戶并為其分配了密碼:
接下來(lái),使用以下命令創(chuàng)建ftp目錄并設(shè)置所有權(quán):
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
接下來(lái),創(chuàng)建一個(gè)可以上載文件的目錄,并為vsftp用戶提供所有權(quán):
linuxidc@linuxidc:~$ sudo mkdir /home/linuxmi/ftp/test
linuxidc@linuxidc:~$ sudo chown linuxmi:linuxmi /home/linuxmi/ftp/test
讓我們也在新用戶的主目錄中創(chuàng)建一個(gè)示例文件。我們?cè)跍y(cè)試FTP連接時(shí)將使用此文件:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo sh -c ‘echo “Linux公社www.linuxidc.com的測(cè)試文件” >/home/linuxmi/ftp/www.linuxidc.com.txt’