FTP服務(wù)器(File Transfer Protocol Server)是在互聯(lián)網(wǎng)上提供文件存儲(chǔ)和訪問(wèn)服務(wù)的計(jì)算機(jī),它們依照FTP協(xié)議提供服務(wù)。 FTP是File Transfer Protocol(文件傳輸協(xié)議)。顧名思義,就是專門用來(lái)傳輸文件的協(xié)議。
在當(dāng)下這個(gè)網(wǎng)盤到處限速收費(fèi)的情況下,自己搭建一個(gè)FTP服務(wù)器,也是一個(gè)不錯(cuò)的選擇。
1、搭建環(huán)境
阿里云服務(wù)器:ubuntu 16.04/18.04
2、安裝ftp服務(wù)器工具
- 安裝vsftpd
sudo apt-get update
sudo apt-get install vsftpd
- 設(shè)置成開(kāi)機(jī)服務(wù)
systemctl enable vsftpd.service
- 啟動(dòng)ftp服務(wù)
systemctl start vsftpd.service
- 運(yùn)行命令,查看ftp服務(wù)的端口號(hào)
netstat -antup | grep ftp
3、參數(shù)配置
- 配置文件路徑:
/etc/vsftpd.conf
- 基本配置如下:
# 禁止匿名用戶登錄
anonymous_enable=NO
# 允許系統(tǒng)用戶登錄
local_enable=YES
# 啟用可以修改文件的 FTP 命令
write_enable=YES
# 本地用戶創(chuàng)建文件的 umask 值
local_umask=022
# 允許為目錄配置顯示信息,顯示每個(gè)目錄下面的message_file文件的內(nèi)容
dirmessage_enable=YES
# 開(kāi)啟日記功能
xferlog_enable=YES
# 使用標(biāo)準(zhǔn)的20端口來(lái)連接ftp
connect_from_port_20=YES
# 使用標(biāo)準(zhǔn)日志格式
xferlog_std_format=YES
# 如果啟動(dòng)這項(xiàng)功能,則所有列在chroot_list_file之中的使用者不能更改根目錄
chroot_list_enable=YES
# 指定限制的用戶文件
chroot_list_file=/etc/vsftpd/chroot_list
# ftp服務(wù)器將處于獨(dú)立啟動(dòng)模式
listen=YES
# 設(shè)置一個(gè)本地用戶登錄后進(jìn)入到的目錄
local_root=/home/ftp
# 設(shè)置PAM認(rèn)證服務(wù)的配置文件名稱,該文件保存在“/etc/pam.d/”目錄下
pam_service_name=vsftpd
# ftp將檢查userlist_file設(shè)置文件中指定的用戶是否可以訪問(wèn)vsftpd服務(wù)器
userlist_enable=YES
# 只允許user_list文件中記錄的ftp用戶能登錄vsftp服務(wù),其他的ftp用戶都不可以登錄。
userlist_deny=NO
# 定義限制/允許用戶登錄的文件
userlist_file=/etc/vsftpd/allowed_users
# ftp服務(wù)器將使用tcp_wrAppers作為主機(jī)訪問(wèn)控制模式
tcp_wrappers=YES
# 連接ftp服務(wù)費(fèi)使用的端口
listen_port=21
如需開(kāi)啟被動(dòng)模式,增加如下配置參數(shù)
#開(kāi)啟被動(dòng)模式。
pasv_enable=YES
allow_writeable_chroot=YES
#設(shè)置被動(dòng)模式下,建立數(shù)據(jù)傳輸可使用的端口范圍的最小值。
#建議您把端口范圍設(shè)置在一段比較高的范圍內(nèi),例如50000~50010,有助于提高訪問(wèn)FTP服務(wù)器的安全性。
pasv_min_port=50000
#設(shè)置被動(dòng)模式下,建立數(shù)據(jù)傳輸可使用的端口范圍的最大值。
pasv_max_port=50010
因?yàn)閒tp服務(wù)器是搭建在阿里云上的,所以要根據(jù)以上配置設(shè)置下安全組規(guī)則,開(kāi)啟20/21;50000/50010的端口。
- allowed_users chroot_list文件配置
在/etc/vsftpd下,創(chuàng)建兩個(gè)文件,沒(méi)有文件夾的創(chuàng)建該文件夾
1)allowed_users 是允許的用戶文件,允許的用戶,把賬戶名寫入即可
2)chroot_list 是限制的用戶文件,沒(méi)有限制的,保留空文件即可
配置完成后重啟ftp服務(wù)
sudo systemctl restart vsftpd.service
查看服務(wù)器運(yùn)行狀態(tài)
sudo systemctl status vsftpd.service
這樣ftp服務(wù)器就配置好了,用工具登陸試下
4、可能的錯(cuò)誤如下
如果在啟動(dòng)ftp服務(wù)時(shí),出現(xiàn)如下錯(cuò)誤
關(guān)閉配置/etc/vsftpd.conf中ipv6設(shè)置再重啟服務(wù)即可
listen_ipv6=NO