Ubuntu 18.04部署帶有TLS的VsFTPD伺服器

2022-01-13 Linux公社

本教程介紹如何在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伺服器並從那裡上載/下載文件。

相關焦點

  • 如何在Ubuntu 18.04 LTS上安裝帶有TLS的VsFTPD伺服器
    FTP或文件傳輸協議是一種常見的網絡協議,用於在兩臺計算機之間傳輸文件或將文件從桌面傳輸到您的網站或web託管伺服器。這些文件可以根據用戶在FTP伺服器上擁有的權限進行上傳和下載。讓我們一步一步地介紹如何在Ubuntu 18.04 LTS系統上安裝和設置FTP伺服器。這是使用FTP的最基本方法,一旦熟悉了它,就可以轉到更複雜的操作。
  • 在 Ubuntu 上使用 SSL/TLS 搭建一個安全的 FTP 伺服器
    在本教程中,我們將介紹如何使用 Ubuntu 16.04 / 16.10 中的 SSL / TLS 保護 FTP 伺服器(FTPS)。
  • Ubuntu16.04環境下使用vsftpd搭建FTP伺服器
    #apt-get remove vsftpdvsftpd命令 啟動start 查看狀態status 停止stop 重啟restart# /etc/init.d/vsftpd restart   # service vsftpd restart# systemctl restart vsftpd# service vsftpd start# service
  • Ubuntu 18.04 安裝部署 k8s 集群
    Ubuntu 18.04 安裝部署 k8s 集群一:系統安裝1.1、系統安裝資源需求可以最小化安裝系統。系統資源要求:4C、4G、40Gi。用戶名和密碼:user1、1234561.2、配置靜態 IP 地址可以在系統的 UI 頁面配置靜態 IP 地址。
  • CentOS7下vsftpd over SSL/TLS加密傳輸配置實踐
    之前有介紹過CentOS下搭建vsftpd伺服器,可以參考如下文章CentOS7下搭建vsftpd伺服器(本地用戶模式)
  • 在 Ubuntu 18.04 LTS 無頭伺服器上安裝 Oracle VirtualBox | Linux 中國
    本教程將指導你在 Ubuntu 18.04 LTS 無頭伺服器上,一步一步地安裝 Oracle VirtualBox。同時,本教程也將介紹如何使用 phpVirtualBox 去管理安裝在無頭伺服器上的 VirtualBox 實例。phpVirtualBox 是 VirtualBox 的一個基於 Web 的前端工具。
  • 如何在 CentOS 7 中使用 SSL/TLS 加固 FTP 伺服器進行安全文件傳輸
    ,首先開放 990 和 40000-50000 埠,以便在 VSFTPD 配置文件中分別定義 TLS 連接的埠和被動埠的埠範圍:# firewall-cmd --zone=public --permanent --add-port=990/tcp# firewall-cmd --zone=public --permanent --add-port=40000
  • 6.雲伺服器上FTP服務安裝與配置
    安裝 vsftpd 軟體:guowenxue@hncloud-ubuntu18:~$ sudo apt install -y vsftpd備份vsftpd的默認配置文件:guowenxue@hncloud-ubuntu18:~$ cd /etc/guowenxue@
  • Ubuntu 18.04安裝Samba伺服器及配置
    以Ubuntu為例配置samba服務,Linux伺服器的版本是Ubuntu 18.04.1 LTS。在終端中執行下列指令:cat /etc/issue查看當前正在運行的 Ubuntu 的版本號。以下是我的安裝配置步驟:(1)更新當前軟體。
  • ubuntu 18.04 server版根目錄只有4G?
    軟硬體環境ubuntu server 18.04 64bit前言最近來了臺新的伺服器,然後就開始著手安裝作業系統
  • Ubuntu 18.04 LTS(仿生河狸)發布! | Linux 中國
    編譯自 | https://news.softpedia.com/news/ubuntu-18-04-lts-bionic-beaver-officially-released-here-is-what-s-new-520856.shtml  作者 | Marius Nestor  譯者 | Xingyu.Wang (wxy) 🌟 🌟 🌟 🌟 🌟 共計翻譯:223 篇 貢獻時間
  • Linux Ubuntu 18.04系統安裝教程
    Ubuntu 18.04 /64位下載地址:https://pan.baidu.com/s/1HjatUPcoHhWzwWSa1gsTdg
  • Ubuntu 16.04 下部署 Graylog 2.x 日誌伺服器
    本文只是會為了示範說明,會把用到的組件全部安裝到一個單獨的伺服器上。對於大型、生產系統你可以把組件分開安裝在不同的伺服器上,這樣可以提高效率。Graylog 2 的組件Graylog 2 有 4 個基本組件:下面是 Graylog 2 各組件之間的關係圖安裝和配置 Graylog 2環境依賴Graylog 2 需要以下環境依賴:一臺 Ubuntu 16.04 伺服器,至少有 2 GB 的 RAM。
  • vsftpd伺服器的搭建
    上周講了NFS伺服器的搭建方式,這是一種共享文件的服務。今天來講一下centos7伺服器下搭建FTP的方法。1、首先,通過yum的方式安裝vsftpdyum install vsftpd2、默認的主配置文件放在/etc/vsftpd/vsftpd.confvi /etc/vsftpd/vsftpd.conf
  • 詳解最新的Ubuntu 18.04 LTS
    其最新版本18.04 LTS上周問世。「多雲運營是新常態。」Ubuntu規範和創始人的執行長Mark Shuttleworth表示,「在所有主要公有雲上,啟動時間和性能優化鏡像使Ubuntu 18.04 LTS成為雲計算最快、最有效的作業系統,尤其是存儲和計算密集型任務,如機器學習。」
  • Ubuntu 18.04.6 LTS 已經發布
    點擊上方藍字 ● 關注Linux公社 Ubuntu 團隊17日為桌面和伺服器發布了 Ubuntu 18.04 的第6個點版本。
  • Dell R730安裝Ubuntu 18.04的過程
    課題組伺服器莫名其妙的就出了一些問題:包括遠程連接連不上,ping網址的時候ping不同,ping IP位址可以ping通,不知道什麼原因,最近在微信看到了付費推文
  • ubuntu20.04系統伺服器生信基礎配置
    0.ubuntu伺服器網絡配置靜態IP和遠程連結1.開通網頁服務2.安裝必備的庫3.安裝Rstudio server語言4.安裝Shiny Server5.安裝JBrowser6.安裝Docker之前入門linux也是踩了好多坑,現在總結一下給大家先分享下伺服器配置的一些經驗。mac的電腦自帶終端很方便,直接可以練習linux命令。
  • 如何在 Ubuntu 下安裝和配置 FTP 伺服器
    但是,選項 userlist_deny=NO 則反轉了默認設置,這種情況下只有用戶名被明確列出在 /etc/vsftpd.userlist 中的用戶才允許登錄到 FTP 伺服器。userlist_enable=YES                   # vsftpd 將會從所給的用戶列表文件中加載用戶名字列表userlist_file=/etc/vsftpd.userlist    # 存儲用戶名字的列表userlist_deny=NO重要的是,當用戶登錄 FTP 伺服器以後,他們將進入 chrooted
  • Ubuntu 18.04及Snap體驗——讓Linux入門更簡單
    但真正接觸Linux是為管理虛擬專用伺服器(VPS),都說Ubuntu適合新手於是接觸了是Ubuntu 10.10(Maverick Meerkat)。從此愛上了Linux。雖然之後我使用CentOS的時間長於別的Linux Distribution,但Ubuntu從沒有離開過我的電腦。如今都發行到了Ubuntu 18.04(Bionic Beaver)。