linux下FTP服务搭建(1)
1.FTP介紹:
FTP (File Transfer Protocol,文件傳輸協(xié)議)主要用來(lái)文件傳輸,尤其適用于大文件傳輸,提供上傳下載功能
FTP官方網(wǎng)站:https://filezilla-project.org/
FTP服務(wù)器根據(jù)服務(wù)對(duì)象分為兩種:一種Linux系統(tǒng)用戶下控制的FTP服務(wù)器,另一種匿名FTP服務(wù)器
2.FTP工作模式
FTP采用C/S架構(gòu)的服務(wù),分為客戶端和服務(wù)器端。使用TCP做為底層傳輸協(xié)議,使用標(biāo)準(zhǔn)端口20,21: 20端口作為數(shù)據(jù)端口,21端口作為指令端口
2.1主動(dòng)FTP
- 客戶端從任意一個(gè)非授權(quán)端口,即大于1024的端口N,連接到FTP服務(wù)器命令端口21,
- 然后客戶端開(kāi)始監(jiān)聽(tīng)端口N+1,并發(fā)送FTP命令“PORT N+1”到FTP服務(wù)器
- 接著服務(wù)器再?gòu)淖约旱臄?shù)據(jù)端口(20端口)連接到客戶端指定的數(shù)據(jù)端口(N+1)
2.2被動(dòng)FTP
在被動(dòng)模式中,命令連接于數(shù)據(jù)連接都有客戶端發(fā)起,這樣解決了服務(wù)器到客戶端的數(shù)據(jù)端口的入方向連接被防火墻過(guò)濾掉的問(wèn)題
- 客戶端的命令端口與服務(wù)器的命令端口建立連接,并發(fā)送命令“PASV”
- 然后服務(wù)器返回命令"PORT 2024",告訴客戶端(服務(wù)器)用哪個(gè)端口偵聽(tīng)數(shù)據(jù)連接
- 客戶端初始化一個(gè)從自己的數(shù)據(jù)端口到服務(wù)器端指定的數(shù)據(jù)端口的數(shù)據(jù)連接
- 最后服務(wù)器在給客戶端的數(shù)據(jù)端口返回一個(gè)"ACK"響應(yīng)。
3.FTP命令行
- open host[port]:建立指定ftp服務(wù)器連接,可指定連接端口
- quit:同bye,退出ftp會(huì)話
- cdup:進(jìn)入遠(yuǎn)程主機(jī)目錄的父目錄
- close:中斷與遠(yuǎn)程服務(wù)器的ftp會(huì)話(與open對(duì)應(yīng))
- mdelete[remote-file]:刪除遠(yuǎn)程主機(jī)文件。
- mkdir: 在遠(yuǎn)程主機(jī)中建一目錄
- get remote-file[local-file]: 將遠(yuǎn)程主機(jī)的文件remote-file傳至本地硬盤(pán)的local-file
- put local-file[remote-file]:將本地文件local-file傳送至遠(yuǎn)程主機(jī)
- mget remote-files:傳輸多個(gè)遠(yuǎn)程文件
- mput local-file:將多個(gè)文件傳輸至遠(yuǎn)程主機(jī)
- modtime file-name:顯示遠(yuǎn)程主機(jī)文件的最后修改時(shí)間
- pwd:顯示遠(yuǎn)程主機(jī)的當(dāng)前工作目錄
- ascii:使用ascii類(lèi)型傳輸方式
- bin:使用二進(jìn)制文件傳輸方式
- help[cmd]:顯示ftp內(nèi)部命令cmd的幫助信息,如:help get
?4.Linux下安裝FTP
在Linux命令行執(zhí)行ftp 顯示沒(méi)有此命令則進(jìn)行安裝:
yum install ftp -y5.FTP環(huán)境搭建
5.1 安裝VSFTPD
先查看是否安裝vsftpd:rpm -qa |grep vsftpd
[root@H0f ~]# rpm -qa |grep vsftpd vsftpd-2.2.2-24.el6.x86_64 1. rpm -e vsftpd 進(jìn)行卸載 2. yum install -y vsftpd 安裝vsftpd?5.2 啟動(dòng)VSFTPD
[root@H0f ~]# chkconfig vsftpd on #加到開(kāi)機(jī)自啟動(dòng) [root@H0f Desktop]# /etc/init.d/vsftpd status #查看服務(wù)是否啟動(dòng) vsftpd (pid 21318) is running... [root@H0f Desktop]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
?5.3 SELinux設(shè)置
[root@H0f ~]# getenforce Enforcing #強(qiáng)制執(zhí)行 [root@H0f ~]# setenforce 0 #降低SELinux安全級(jí)別 [root@H0f ~]# getenforce #寬容模式 Permissive?5.4防火墻設(shè)置
1.允許所有FTP模式連接
iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED -j ACCEPT iptabels -A OUTPUT -p tcp --sport 21 -m state --state NEW,ESTABLISHED -j ACCEPT2.主動(dòng)模式設(shè)置
iptabels -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLESHED -j ACCEPT?
3.被動(dòng)模式設(shè)置
iptables -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 1024:65535 --deport 1024:65535 -m state --state ESTABLESHED,RELATED -j ACCEPT?
轉(zhuǎn)載于:https://www.cnblogs.com/someone9/p/8681886.html
總結(jié)
以上是生活随笔為你收集整理的linux下FTP服务搭建(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 实现一段文字中,出现次数最多的
- 下一篇: Linux基础学习1--档案的属性和目录