0、引言
本文主要講解,服務端安裝vsftp,客戶端使用FileZilla進行連接。
安裝前我們還要知道,什麼是ftp協議,以及ftp協議使用的端口。
1,什麼是FTP?
2,客戶端常用的FTP軟件
3,vsftp安裝及配置
4,vsftp部分配置詳解
5,測試連接
1、什麼是FTP?
FTP :全稱爲 File Transfer Protocol,文件傳輸協議,是 TCP/IP 協議組中的協議之一。
FTP協議包括兩個組成部分,其一爲FTP服務器,其二爲FTP客戶端。
其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP服務器上的資源。
端口 : 21
主動傳輸模式 : 20
被動傳輸模式 :自定義大於1024的端口
2、常用的FTP軟件
個人使用推薦 :
MacBook :FileZilla,Transmit
Windows :FileZilla ,Xftp
3、vsftp安裝及配置
3.1 安裝
- 安裝很簡單,yum命令
yum install -y vsftpd
- 服務相關命令
systemctl enable vsftpd.service #設置開機啓動
systemctl start vsftpd.service #服務啓動
systemctl stop vsftpd.service #服務停止
systemctl restart vsftpd.service #重啓服務
systemctl status vsftpd.service #查看服務狀態
3.2 添加FTP用戶
- linux環境添加用戶,名字爲 ftpuser。並使用戶沒有登錄權限。規定家目錄爲 /ftp/data
useradd -s /sbin/nologin -d /ftp/data ftpuser
- 設置密碼
passwd ftpuser #輸入兩次密碼即可
- 如果需要修改權限,則使用
usermod -s /sbin/bash ftpuser #用戶ftpuser恢復正常
usermod -d /ftpuser ftpuser #更改用戶的家目錄爲/ftpuser
3.3 配置FTP
- 修改配置文件 /etc/vsftpd/vsftpd.conf
#我的配置信息如下,及重點配置的解釋。
anonymous_enable=NO #是否允許匿名ftp
local_enable=YES #是否允許本地用戶登錄
ascii_upload_enable=YES #是否使用ascii碼方式上傳
ascii_download_enable=YES #是否使用ascii碼方式下載
chroot_local_user=YES #用戶限止在自己的home目錄
chroot_list_enable=NO #是否允許例外情況
chroot_list_file=/etc/vsftpd/chroot_list#例外情況用戶
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
allow_writeable_chroot=YES #寫權限
tcp_wrappers=YES
pasv_enable=YES #開啓被動模式
pasv_min_port=4500 #被動模式最小端口
pasv_max_port=5000 #被動模式最大端口
pasv_promiscuous=NO #PASV模式的安全檢查
- 修改/創建 chroot_list 文件
如果有特殊的例外情況,需要添加在這個文件內。
比如 :所有用戶都限制在家目錄。但是ftpuser除外。需要修改上面的配置文件。
#配置文件修改項目
chroot_local_user=YES #用戶限止在自己的home目錄
chroot_list_enable=YES #是否允許例外情況 允許
#添加上面創建ftpuser用戶,每個用戶一行。
vi /etc/vsftpd/chroot_list
- 重啓服務,測試連接
- 可能出現問題,端口問題
因爲使用的是被動連接方式,這是就需要我們的服務器防火牆開放配置端口 4500-5000,如果是阿里雲服務器,還需更改安全組。
防火牆不太瞭解,可以查看我的另一篇文章
firewall-cmd --zone=public --add-port=4500-5000/tcp --permanent
firewall-cmd --reload
4、vsftp部分配置詳解
- 主動模式/被動模式 是什麼?
- chroot_local_user還能這麼用?
5、連接測試
因爲打開了被動模式,這裏就使用被動方式連接。
調整連接方式。
連接成功後,只能訪問家目錄。