本文測(cè)試環(huán)境?
1、CentOS?7?
2、測(cè)試服務(wù)器IP 192.168.1.170
1、安裝并啟動(dòng) FTP 服務(wù)
1.1 安裝 VSFTPD
使用?yum?安裝?vsftpd
yuminstall-y vsftpd
1.2 啟動(dòng) VSFTPD
安裝完成后,啟動(dòng) FTP 服務(wù):
service vsftpdstart
啟動(dòng)后,可以看到系統(tǒng)已經(jīng)監(jiān)聽了 21 端口:
netstat -nltp| grep 21
此時(shí),訪問(wèn) ftp://192.168.1.170 可瀏覽機(jī)器上的 /var/ftp目錄了。
2、配置 FTP 權(quán)限
2.1 了解 VSFTP 配置
vsftpd 的配置目錄為 /etc/vsftpd,包含下列的配置文件:
vsftpd.conf 為主要配置文件
ftpusers 配置禁止訪問(wèn) FTP 服務(wù)器的用戶列表
user_list 配置用戶訪問(wèn)控制
2.2 阻止匿名訪問(wèn)和切換根目錄
匿名訪問(wèn)和切換根目錄都會(huì)給服務(wù)器帶來(lái)安全風(fēng)險(xiǎn),我們把這兩個(gè)功能關(guān)閉。
編輯 /etc/vsftpd/vsftpd.conf,找到下面兩處配置并修改:
# 禁用匿名用戶? 12 YES 改為NOanonymous_enable=NO# 禁止切換根目錄 101 行 刪除#chroot_local_user=YES
編輯完成后保存配置,重新啟動(dòng) FTP 服務(wù)
service vsftpd restart
2.3 創(chuàng)建 FTP 用戶
創(chuàng)建一個(gè)用戶?ftpuser
useradd ftpuser
為用戶 ftpuser 設(shè)置密碼
echo"javen205"| passwd ftpuser --stdin
2.4 限制該用戶僅能通過(guò) FTP 訪問(wèn)
限制用戶?ftpuser只能通過(guò) FTP 訪問(wèn)服務(wù)器,而不能直接登錄服務(wù)器:
usermod-s/sbin/nologin ftpuser
2.5 為用戶分配主目錄
為用戶?ftpuser創(chuàng)建主目錄并約定:
/data/ftp?為主目錄, 該目錄不可上傳文件?
/data/ftp/pub?文件只能上傳到該目錄下
在/data中創(chuàng)建相關(guān)的目錄
mkdir-p /data/ftp/pub
2.5.1 創(chuàng)建登錄歡迎文件
echo"Welcome to use FTP service."> /data/ftp/welcome.txt
設(shè)置訪問(wèn)權(quán)限
chmod a-w/data/ftp&&chmod777-R/data/ftp/pub
設(shè)置為用戶的主目錄:
usermod-d /data/ftp ftpuser
3、訪問(wèn)FTP
根據(jù)您個(gè)人的工作環(huán)境,選擇一種方式來(lái)訪問(wèn)已經(jīng)搭建的 FTP 服務(wù)
注意:記得關(guān)閉防火墻或者開放FTP默認(rèn)端口(21)
# 關(guān)閉SELinux服務(wù)setenforce0# 關(guān)閉防火墻iptables -F
通過(guò) Windows 資源管理器訪問(wèn)
Windows 用戶可以復(fù)制下面的鏈接?
到資源管理器的地址欄訪問(wèn):
ftp://ftpuser:javen205@192.168.1.170
其中ftpuser為登錄FTP的用戶名,javen205為登錄FTP的密碼
通過(guò) FTP 客戶端工具訪問(wèn)
FTP 客戶端工具眾多,下面推薦兩個(gè)常用的:
WinSCP- Windows 下的 FTP 和 SFTP 連接客戶端?
FileZilla?- 跨平臺(tái)的 FTP 客戶端,支持 Windows 和 Mac
4. 提示錯(cuò)誤
500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
?在/etc/vsftpd下新建chroot_list,加入登陸用戶的名字。(用戶需要配置密碼,在這里就不詳述如何添加用戶和密碼了)
vi /etc/vsftpd/chroot_list
ftpuser