Linux 在 linux 中搭建 FTP 服务
概述
在本篇博文中,我將會(huì)介紹如何搭建你自己的FTP服務(wù)
FTP是什么
FTP 是文件傳輸協(xié)議File Transfer Protocol的縮寫。顧名思義,FTP用于計(jì)算機(jī)之間通過網(wǎng)絡(luò)進(jìn)行文件傳輸。你可以通過FTP在計(jì)算機(jī)賬戶間進(jìn)行文件傳輸,也可以在賬戶和桌面計(jì)算機(jī)之間傳輸文件,或者訪問在線軟件歸檔。但是,需要注意的是多數(shù)的FTP站點(diǎn)的使用率非常高,可能需要多次重連才能連接上。
FTP地址和HTTP地址(即網(wǎng)頁(yè)地址)非常相似,只是FTP地址使用ftp://前綴而不是http://
FTP服務(wù)器是什么
通常,擁有FTP地址的計(jì)算機(jī)是專用于接收FTP連接請(qǐng)求的。一臺(tái)專用于接收FTP連接請(qǐng)求的計(jì)算機(jī)即為FTP服務(wù)器或者FTP站點(diǎn)。
現(xiàn)在,我們來(lái)開始搭建一個(gè)FTP服務(wù)文件共享。在本博文,我們將以vsftpd作為ftp服務(wù)。
VSFTPD是一個(gè)自稱為最安全的FTP服務(wù)端軟件。事實(shí)上VSFTPD的前兩個(gè)字母表示“非常安全的very secure”。該軟件的構(gòu)建繞開了FTP協(xié)議的漏洞。
盡管如此,你應(yīng)該知道還有更安全的方法進(jìn)行文件管理和傳輸,如:SFTP(使用OpenSSH)。FTP協(xié)議對(duì)于共享非敏感數(shù)據(jù)是非常有用和可靠的。
安裝VSFTPD
CentOS
# 安裝vsftpd yum -y install vsftpd # 啟動(dòng) service vsftpd start # 開啟啟動(dòng) chkconfig vsftpd onVSFTPD相關(guān)命令
# 啟動(dòng)ftp服務(wù) service vsftpd start # 查看ftp服務(wù)狀態(tài) service vsftpd status # 重啟ftp服務(wù) service vsftpd restart # 關(guān)閉ftp服務(wù) service vsftpd stop配置FTP服務(wù)
多數(shù)的VSFTPD配置項(xiàng)都在/etc/vsftpd.conf配置文件中。這個(gè)文件本身已經(jīng)有非常良好的文檔說(shuō)明了,因此,在本節(jié)中,我只強(qiáng)調(diào)一些你可能進(jìn)行修改的重要選項(xiàng)。使用man頁(yè)面查看所有可用的選項(xiàng)和基本的 文檔說(shuō)明:
man vsftpd.conf根據(jù)文件系統(tǒng)層級(jí)標(biāo)準(zhǔn),FTP共享文件默認(rèn)位于/srv/ftp目錄中。
允許上傳:
為了允許ftp用戶可以修改文件系統(tǒng)的內(nèi)容,如上傳文件等,“write_enable”標(biāo)志必須設(shè)置為 YES。
write_enable=YES允許本地(系統(tǒng))用戶登錄:
為了允許文件/etc/passwd中記錄的用戶可以登錄ftp服務(wù),“l(fā)ocal_enable”標(biāo)記必須設(shè)置為YES。
local_enable=YES匿名用戶登錄
下面配置內(nèi)容控制匿名用戶是否允許登錄:
允許匿名用戶登錄
anonymous_enable=YES匿名登錄不需要密碼(可選)
no_anon_password=YES匿名登錄的最大傳輸速率,Bytes/second(可選)
anon_max_rate=30000匿名登錄的目錄(可選)
anon_root=/example/directory/根目錄限制(Chroot Jail)
( chroot jail是類unix系統(tǒng)中的一種安全機(jī)制,用于修改進(jìn)程運(yùn)行的根目錄環(huán)境,限制該線程不能感知到其根目錄樹以外的其他目錄結(jié)構(gòu)和文件的存在。詳情參看chroot jail)
有時(shí)我們需要設(shè)置根目錄(chroot)環(huán)境來(lái)禁止用戶離開他們的家(home)目錄。在配置文件中增加/修改下面配置開啟根目錄限制(Chroot Jail):
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list“chroot_list_file”變量指定根目錄限制所包含的文件/目錄( 即用戶只能訪問這些文件/目錄)
最后你必須重啟ftp服務(wù),在命令行中輸入以下命令:
sudo systemctl restart vsftpd到此為止,你的ftp服務(wù)已經(jīng)搭建完成并且啟動(dòng)了。
配置文件vsftpd.conf
#進(jìn)入vsftpd配置文件 vim /etc/vsftpd/vsftpd.conf # 禁止匿名用戶anonymous登錄 anonymous_enable=NO # 允許本地用戶登錄 local_enable=YES # 讓登錄的用戶有寫權(quán)限(上傳,刪除) write_enable=YES # 默認(rèn)umask local_umask=022 # 把傳輸記錄的日志保存到/var/log/vsftpd.log xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=NO # 允許ASCII模式上傳 ascii_upload_enable=YES # 允許ASCII模式下載 ascii_download_enable=YES # 使用20號(hào)端口傳輸數(shù)據(jù) connect_from_port_20=YES # 歡迎標(biāo)語(yǔ) ftpd_banner=Welcome to use my test ftp server. # 接下來(lái)的三條配置很重要 # chroot_local_user設(shè)置了YES,那么所有的用戶默認(rèn)將被chroot, # 也就用戶目錄被限制在了自己的home下,無(wú)法向上改變目錄。 # chroot_list_enable設(shè)置了YES,即讓chroot用戶列表有效。 # ★超重要:如果chroot_local_user設(shè)置了YES,那么chroot_list_file # 設(shè)置的文件里,是不被chroot的用戶(可以向上改變目錄) # ★超重要:如果chroot_local_user設(shè)置了NO,那么chroot_list_file # 設(shè)置的文件里,是被chroot的用戶(無(wú)法向上改變目錄) chroot_list_enable=YES # touch /etc/vsftpd/chroot_list 新建 chroot_list_file=/etc/vsftpd/chroot_list use_localtime=YES # 以standalone模式在ipv4上運(yùn)行 listen=YES # PAM認(rèn)證服務(wù)名,這里默認(rèn)是vsftpd,在安裝vsftpd的時(shí)候已經(jīng)創(chuàng)建了這個(gè)pam文件, # 在/etc/pam.d/vsftpd,根據(jù)這個(gè)pam文件里的設(shè)置,/etc/vsftpd/ftpusers # 文件里的用戶將禁止登錄ftp服務(wù)器,比如root這樣敏感的用戶,所以你要禁止別的用戶 # 登錄的時(shí)候,也可以把該用戶追加到/etc/vsftpd/ftpusers里。 pam_service_name=vsftpd # 重啟 vsftpd service vsftpd restart總結(jié)
以上是生活随笔為你收集整理的Linux 在 linux 中搭建 FTP 服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 精通Linux的“kill”
- 下一篇: Oracle 不使用DBCA在Oracl