Linux下如何搭建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服務端軟件。事實上該軟件的構建繞開了FTP協議的漏洞。但是,對于一些人還有更安全的方法進行文件管理和傳輸,如SFTP(使用OpenSSH)。FTP協議對于共享非敏感數據是非常有用和可靠的。
使用rpm安裝VSFTPD,可以使用如下命令在命令行界面中快捷的安裝VSFTPD:
- dnf -y install vsftpd
使用deb安裝VSFTPD,可以使用如下命令在命令行界面中快捷的安裝VSFTPD:
- sudo apt-get install vsftpd
在Arch中安裝VSFTPD,可以使用如下命令在命令行界面中快捷的安裝VSFTPD:
- sudo pacman -S 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
下面配置內容控制匿名用戶是否允許登錄:
根目錄限制(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服務已經搭建完成并且啟動。