如何在 Linux 中搭建 FTP 服務
在本教程中,我將會介紹如何搭建你自己的FTP服務。但是,首先我們應該來的學習一下FTP是什麼。
FTP是什麼?
FTP 是檔案傳輸協議(File Transfer Protocol)的縮寫。顧名思義,FTP用於計算機之間通過網路進行檔案傳輸。你可以通過FTP在計算機賬戶間進行檔案傳輸,也可以在賬戶和桌面計算機之間傳輸檔案,或者訪問線上軟體歸檔。但是,需要注意的是多數的FTP站點的使用率非常高,可能需要多次重連才能連線上。
FTP地址和HTTP地址(即網頁地址)非常相似,只是FTP地址使用ftp://字首而不是http://
FTP伺服器是什麼?
通常,擁有FTP地址的計算機是專用於接收FTP連線請求的。一臺專用於接收FTP連線請求的計算機即為FTP伺服器或者FTP站點。
現在,我們來開始一個特別的冒險,我們將會搭建一個FTP服務用於和家人、朋友進行檔案共享。在本教程,我們將以vsftpd作為ftp服務。
VSFTPD是一個自稱為最安全的FTP服務端軟體。事實上VSFTPD的前兩個字母表示“非常安全的(very secure)”。該軟體的構建繞開了FTP協議的漏洞。
儘管如此,你應該知道還有更安全的方法進行檔案管理和傳輸,如:SFTP(使用OpenSSH)。FTP協議對於共享非敏感資料是非常有用和可靠的。
使用 rpm 安裝VSFTPD:
你可以使用如下命令在命令列介面中快捷的安裝VSFTPD:
dnf -y install vsftpd
使用 deb 安裝VSFTPD:
你可以使用如下命令在命令列介面中快捷的安裝VSFTPD:
sudo apt-get install vsftpd
在Arch 中安裝VSFTPD:
你可以使用如下命令在命令列介面中快捷的安裝VSFTPD:
sudo apt-get install vsftpd
配置FTP服務
多數的VSFTPD配置項都在/etc/vsftpd.conf配置檔案中。這個檔案本身已經有非常良好的文件說明了,因此,在本節中,我只強調一些你可能進行修改的重要選項。使用man頁面檢視所有可用的選項和基本的 文件說明:
man vsftpd.conf
根據檔案系統層級標準,FTP共享檔案預設位於/srv/ftp目錄中。
允許上傳:
為了允許ftp使用者可以修改檔案系統的內容,如上傳檔案等,“write_enable”標誌必須設定為 YES。
write_enable=YES
允許本地(系統)使用者登入:
為了允許檔案/etc/passwd中記錄的使用者可以登入ftp服務,“local_enable”標記必須設定為YES。
local_enable=YES
匿名使用者登入
下面配置內容控制匿名使用者是否允許登入:
# 允許匿名使用者登入 anonymous_enable=YES # 匿名登入不需要密碼(可選) no_anon_password=YES # 匿名登入的最大傳輸速率,Bytes/second(可選) anon_max_rate=30000 # 匿名登入的目錄(可選) anon_root=/example/directory/
根目錄限制(Chroot Jail)
( LCTT 譯註:chroot jail是類unix系統中的一種安全機制,用於修改程式執行的根目錄環境,限制該執行緒不能感知到其根目錄樹以外的其他目錄結構和檔案的存在。詳情參看chroot jail)
有時我們需要設定根目錄(chroot)環境來禁止使用者離開他們的家(home)目錄。在配置檔案中增加/修改下面配置開啟根目錄限制(Chroot Jail):
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
“chroot_list_file”變數指定根目錄限制所包含的檔案/目錄( LCTT 譯註:即使用者只能訪問這些檔案/目錄)
最後你必須重啟ftp服務,在命令列中輸入以下命令:
sudo systemctl restart vsftpd
到此為止,你的ftp服務已經搭建完成並且啟動了。
相關文章
- linux ftp服務搭建LinuxFTP
- linux ftp服務的搭建配置LinuxFTP
- <Linux下FTP服務的搭建>LinuxFTP
- FTP服務搭建FTP
- 如何在linux下開啟FTP服務LinuxFTP
- Linux FTP服務LinuxFTP
- ubuntu下搭建ftp服務端UbuntuFTP服務端
- 網路拓撲—FTP服務搭建FTP
- 基於ECS搭建FTP服務(阿里雲)FTP阿里
- FTP檔案服務搭建與同步傳輸FTP
- 寶塔Linux皮膚FTP無法連線的解決辦法-搭建FTP 服務LinuxFTP
- 如何在Linux中啟動時新增服務Linux
- Linux下FTP和TFTP服務配置LinuxFTP
- 如何在linux新增服務Linux
- 配置ftp服務FTP
- 如何在 Linux 中查詢服務的埠號Linux
- 教你如何在CentOS7系統中配置ftp服務CentOSFTP
- linux下開啟並配置FTP服務LinuxFTP
- 如何快速搭建Linux系統中Samba服務LinuxSamba
- FTP服務端部署FTP服務端
- AIX FTP服務配置AIFTP
- Linux 下搭建 SVN 服務Linux
- 如何在cmd中停止mysql服務MySql
- 如何在Linux下部署Samba服務?LinuxSamba
- 天翼云云主機上搭建FTP服務最佳實踐FTP
- ubuntu開啟ftp服務UbuntuFTP
- FTP服務(vsftpd)配置FTP
- Azure上部署FTP服務FTP
- ftp服務端安裝FTP服務端
- <linux下extmail服務的搭建>LinuxAI
- linux環境ftp搭建LinuxFTP
- 如何在滴滴雲 DC2 上搭建 MySQL 服務MySql
- 如何在linux中搭建JEECMS系統Linux
- Linux中Apacheweb服務LinuxApacheWeb
- mac下開啟FTP服務MacFTP
- 華為雲彈性雲伺服器ECS搭建FTP服務實踐伺服器FTP
- 如何在 Kali Linux 上安裝 SSH 服務Linux
- 如何在Flutter中整合華為認證服務Flutter