Linux下如何搭建FTP服務(wù)?
對(duì)于用戶(hù)來(lái)說(shuō),如何搭建自己的FTP服務(wù)是一個(gè)基本的應(yīng)用。但對(duì)于新手來(lái)講,F(xiàn)TP是什么?它是文件傳輸協(xié)議File Transfer Protocol 的縮寫(xiě),F(xiàn)TP用于計(jì)算機(jī)之間通過(guò)網(wǎng)絡(luò)進(jìn)行文件傳輸。通過(guò)FTP在計(jì)算機(jī)賬戶(hù)間進(jìn)行文件傳輸,也可以在賬戶(hù)和桌面計(jì)算機(jī)之間傳輸文件,或者訪問(wèn)在線軟件歸檔。
但注意的是多數(shù)的FTP站點(diǎn)的使用率較高,需要多次重連才能連接上。FTP地址和HTTP地址相似,只是FTP地址使用ftp://前綴而不是http://。
有了對(duì)FTP服務(wù)的了解,F(xiàn)TP服務(wù)器是什么?擁有FTP地址的計(jì)算機(jī)是專(zhuān)用于接收FTP連接請(qǐng)求的。一臺(tái)專(zhuān)用于接收FTP連接請(qǐng)求的計(jì)算機(jī)即為FTP服務(wù)器或者FTP站點(diǎn)。
這里以VSFTPD作為ftp服務(wù)通過(guò)搭建一個(gè)用于文件共享。VSFTPD是一個(gè)自稱(chēng)為最安全的FTP服務(wù)端軟件。事實(shí)上該軟件的構(gòu)建繞開(kāi)了FTP協(xié)議的漏洞。但是,對(duì)于一些人還有更安全的方法進(jìn)行文件管理和傳輸,如SFTP(使用OpenSSH)。FTP協(xié)議對(duì)于共享非敏感數(shù)據(jù)是非常有用和可靠的。
使用rpm安裝VSFTPD,可以使用如下命令在命令行界面中快捷的安裝VSFTPD:
- dnf -y install vsftpd
使用deb安裝VSFTPD,可以使用如下命令在命令行界面中快捷的安裝VSFTPD:
- sudo apt-get install vsftpd
在Arch中安裝VSFTPD,可以使用如下命令在命令行界面中快捷的安裝VSFTPD:
- sudo pacman -S vsftpd
配置FTP服務(wù)
多數(shù)的VSFTPD配置項(xiàng)在/etc/vsftpd.conf配置文件中,本身已經(jīng)有好的文檔說(shuō)明,這里只介紹一些可能進(jìn)行修改的重要選項(xiàng)。使用man頁(yè)面查看所有可用的選項(xiàng)和基本的文檔說(shuō)明:
man vsftpd.conf
根據(jù)文件系統(tǒng)層級(jí)標(biāo)準(zhǔn),F(xiàn)TP共享文件默認(rèn)位于/srv/ftp目錄中。
允許上傳:為了允許ftp用戶(hù)可以修改文件系統(tǒng)的內(nèi)容,如上傳文件等,“write_enable”標(biāo)志必須設(shè)置為YES。
write_enable=YES
允許本地(系統(tǒng))用戶(hù)登錄,為了允許文件/etc/passwd中記錄的用戶(hù)可以登錄ftp服務(wù),“local_enable”標(biāo)記必須設(shè)置為YES。
local_enable=YES
下面配置內(nèi)容控制匿名用戶(hù)是否允許登錄:
根目錄限制(Chroot Jail)
有時(shí)我們需要設(shè)置根目錄(chroot)環(huán)境來(lái)禁止用戶(hù)離開(kāi)他們的家(home)目錄。在配置文件中增加/修改下面配置開(kāi)啟根目錄限制(Chroot Jail):
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
“chroot_list_file”變量指定根目錄限制所包含的文件/目錄( LCTT 譯注:即用戶(hù)只能訪問(wèn)這些文件/目錄)
***你必須重啟ftp服務(wù),在命令行中輸入以下命令:
- sudo systemctl restart vsftpd
ftp服務(wù)已經(jīng)搭建完成并且啟動(dòng)。