ftp 是僅基於 tcp 的服務,不支援 udp。與眾不同的是 ftp
使用兩個埠,乙個資料埠和乙個命令埠,也可叫做控制埠。通常來說這兩個埠是
21(命令埠)和 20(資料埠)。由於 ftp 工作方式的不同,資料埠並不總是 20,分為
主動 ftp 和被動 ftp。
1. 主動 ftp
主動方式的 ftp 客戶端從乙個任意的非特權埠 n(n>1024)連線到 ftp 伺服器的命令
埠 21,然後客戶端開始監聽埠 n+1,並傳送 ftp 命令「port n+1」到 ftp 伺服器。接著
伺服器會從自己的資料埠(20)連線到客戶端指定的資料埠(n+1)
伺服器端開啟的是 20 和 21 埠,客戶端開啟的是 1024 以上的埠。
2. 被動 ftp
為了解決伺服器發起到客戶的連線的問題採取了被動方式,或叫做 pasv,當客戶端通知
器處於被動模式時才啟用。在被動方式 ftp 中,命令連線和資料連線都由客戶端發起,
當開啟乙個 ftp 連線時,客戶端開啟兩個任意的非特權本地埠(n > 1024 和 n+1)第一
個埠連線伺服器的 21 埠,但與主動方式的 ftp 不同,客戶端不會提交 port 命令並允許
伺服器來回連線它的資料埠,而是提交 pasv 命令。這樣做的結果是伺服器會開啟乙個任意
的非特權埠(p > 1024),並傳送 port p 命令給客戶端。然後客戶端發起從本地埠 n+1到伺服器端口
p的連線用來傳送資料,此時服務端的資料埠不再是 20 埠。此時服務端
開啟的是 21 命令埠和大於 1024 的資料連線埠,客戶端開啟的是大於 1024 的兩個埠。
主動模式是從伺服器端向客戶端發起連線;而被動模式是客戶端向伺服器端發起連線。兩者的共同點是都使用 21 埠進行使用者驗證及管理,差別在於傳送資料的方式不同。
1.安裝:
#使用yum工具安裝vsftp軟體
[root@centos packages]# yum install -y vsftpd
2. 匿名 ftp 設定
vi /etc/vsftpd/vsftpd.conf
#取消配置檔案中的注釋並顯示有效行
#允許匿名使用者登入和上傳
anonymous_enable=yes
anon_upload_enable=yes
#允許寫(預設都開了,檢查下)
write_enable=yes
local_umask=022
dirmessage_enable=yes
xferlog_enable=yes
connect_from_port_20=yes
xferlog_std_format=yes
#允許在監聽(預設都開了,檢查下)
listen=yes
#不允許ipv6上的監聽
listen_ipv6=no
pam_service_name=vsftpd
userlist_enable=yes
#啟動vsftpd
[root@centos packages]# systemctl start vsftpd
#將預設目錄賦予使用者ftp許可權以便可以上傳檔案
[root@centos packages]# chown -r ftp.users /var/ftp/pub/
#登入ftp
[root@centos packages]# ftp 192.168.19.1 21
##輸入匿名使用者名稱
name (192.168.19.1:root): anonymous
密碼為空
3.實名 ftp 設定
實名認證的使用者資訊在/etc/vsftpd目錄下
編輯配置檔案
l繫結本級ip
listen=yes
listen_address=192.168.1.130
禁止匿名使用者登入
anonymous_enable=no
anon_upload_enable=no
anon_mkdir_write_enable=no
anon_other_write_enable=no
安裝proftpd
rpm -ivh
yum install proftpd
預設目錄賦予使用者ftp許可權
mkdir -p /data/user1
mkdir -p /data/user2
useradd -d /data/user1 -m user1
useradd -d /data/user2 -m user2
chmod -r
vi /etc/proftpd.conf
defaultroot /data/guest
allowoverwrite no
allowall
allowuser user1 user2
denyall
chown -r user1.user1 /data/user1
service proftpd start
測試:ftp 10.128.10.111
使用者名稱user1
密碼123456
ftp伺服器搭建
1.檢查是否已安裝vsftpd伺服器 rpm qa grep vsftpd 若未安裝則執行 yum install vsftpd y 2.設定開機自啟動 chkconfig vsftpd on1.執行cd etc vsftpd 用vi開啟vsftpd.conf 配置檔案 2.找到chroot lis...
搭建FTP伺服器
初次搭建ftp的過程中經過多次嘗試,總結了乙個較為簡單的ftp搭建步驟 1.首先購買乙個伺服器,個人使用的是阿里雲的ecs雲伺服器,系統選64位的centos7.2版本 阿里雲官網 2.安裝vsftp yum install vsftpd 遇到問號直接按回車 看到complete!表示已安裝完成 設...
搭建FTP伺服器
今天嘗試了搭建乙個自己的ftp伺服器 原材料 vsftpd sudo yum install vsftpd ysudo useradd d home 使用者名稱 使用者名稱 例如 sudo useradd d home walikrence walikrencesudo passwd 使用者名稱 例...