FTP服務

FTP也是一個共享服務,FTP為服務端,LFTP為客户端,是用來提供文件共享服務的。FTP的端口有兩個,一個是21/tcp控制端口,一個是20/tcp端口,其配置文件/etc/vsftpd/vsftpd.conf

FTP有兩種模式(默認是被動模式)

  1. ftp主動模式:客户端開啓一個端口N(>1023)向服務端的21端口建立連接,同時開啓一個N+1端口,並告訴服務端監聽的是N+1端口,服務端接到請求之後,用自己的20端口連接到客户端的N+1端口,進行傳輸。
  2. ftp被動模式:客户端同時開啓兩個端口(1024,1025),一個端口(1024)跟服務端的21端口建立連接,服務端接到請求之後,隨機會開啓一個端口(1027),並告訴客户端開啓的是1027端口,客户端用另一個端口(1025)與服務端的(1027)端口進行連接,傳輸數據。

關閉兩台服務器的防火牆和SELinux
配置解析
192.168.202.130 xiaobai-server
192.168.202.131 xiaobai-client

#服務端
[root@xiaobai-server] yum -y install vsftpd   #FTP服務的軟件包為vsftpd
[root@xiaobai-server] systemctl start vsftpd   #啓動FTP服務
[root@xiaobai-server] systemctl enable vsftpd
[root@xiaobai-server] echo "little bai" > /var/ftp/xiaobai

#客户端
[root@xiaobai-client] yum -y install lftp
[root@xiaobai-client] lftp xiaobai-server

lftp xiaobai-server:> ls
drwxr-xr-x    2 0        0               6 Oct 30  2018 pub
-rw-r--r--    1 0        0               0 Apr 16 17:35 xiaobai
#有我們剛剛在服務端創建的文件,但文件不在本地,這裏用get下載

lftp xiaobai-server:> get xiaobai   #下載到了當前目錄下
lftp xiaobai-server:> exit   #退出

[root@xiaobai-client] ls
xiaobai
[root@xiaobai-client] cat xiaobai
little bai

下載功能默認開啓,如果沒有開啓或者想要關閉更改配置文件/etc/vsftpd/vsftpd.conf

#服務端
[root@xiaobai-server] vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES   #允許匿名用户登錄
local_enable=YES   #允許本地用户登錄
write_enable=YES   #允許用户寫入
local_umask=022   #本地用户上傳文件的umask
anon_umask=022   #匿名用户上傳文件的umask
anon_upload_enable=YES   #允許上傳文件
download_enable=YES   #允許下載文件
anon_mkdir_write_enable=YES   #允許上傳目錄
anon_max_rate=500000   #匿名用户限速
local_max_rate=80000   #本地用户限速
max_clients=500   #允許ftp最大連接數
max_per_ip=2   #允許單個IP最大連接數,線程數

#以上是一些FTP的常見配置參數
pasv_enable=NO   #服務器關閉被動模式(默認開啓的是被動模式)

每次加入新配置或修改了配置文件,都需要重啓FTP服務