一. FTP服务的原理:
1. FTP是文件传输协议,实现文件上传与下载;监听TCP/20-21及部分随机端口;是C/S架构。
2. FTP工作原理:
1) ftp连接类型:控制连接和数据连接
2) 控制连接:连接服务器21号端口,完成ftp控制命令传输,如发送用户名及密码验证等。
3) 数据连接:连接服务20号端口或被动模式的随机端口,完成数据传输(文件上传和下载)。
注意:必须先有控制连接,数据连接才可能成功。
4) 数据连接的模式:主动模式和被动模式
5) 主动模式:服务器从20端口主动连接客户端随机端口。
6) 被动模式:由于客户机开启防火墙等设置导致服务器无法成功连接即主动模式无法完成,服务会打开一个随机非20号端口,并告知客户机来连接建立数据连接。
注意:ftp服务一般都会支持主动模式和被动模式,以适应各种客户端设置。
7) ftp数据传输模式:文本模式和二进制模式;文本模式只传输纯文本(也ASCII美国信息交换标准码),二进制模式传输图片/音频/视频等多媒体文件。
注意:ftp登录时建立控制连接à需要传输数据时建立数据连接(选择可用模式主动或被动)à传输数据(注意传输模式是二进制还是文本模式,另外文件必须还得有访问权限)à数据进行传输(客户端或服务必须有足够存放文件的磁盘空间,另外客户端文件系统须支持存放该文件比如FAT32不支持单个文件大于4G)à数据传输完成。
8) ftp的用户类型:匿名(用户ftp/密码ftp;用户anonymous/密码空);
9) ftp服务器软件:vsftpd(linux或unix)/Serv-U及IIS的ftp发布服务(Windows)
10)ftp客户端工具:ftp(支持linux与Windows)/Windows资源管理器/flashFXP和filezilla(Windows与linux中第三方工具)。
3. vsftpd的主配置文件:/etc/vsftpd/vsftpd.conf
1)常用配置文件介绍:
[root@ftp ~]# rpm -qc vsftpd ##查看vsftpd的配置
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd ##vsftpd身份认证配置文件
/etc/vsftpd/ftpusers ##用户文件,该文件中的用户无法登陆ftp
/etc/vsftpd/user_list ##用户登录控制文件,如果主配置文件userlist_deny=NO只允许该文件中的用户登录ftp;如果userlist_deny=YES(默认)作用与ftpusers一样禁止登录ftp
/etc/vsftpd/vsftpd.conf ##主配置文件
[root@ftp ~]#
[root@ftp ~]# man 5 vsftpd.conf ##查看vsftpd.conf配置项帮助
[root@ftp ~]# rpm -qd vsftpd ##查看vsftpd的配置案例
[root@ftp ~]# ls /usr/share/doc/vsftpd-2.2.2/EXAMPLE/ ##验证
INTERNET_SITE(网络站点) PER_IP_CONFIG(单个ip配置) VIRTUAL_HOSTS(虚拟主机) VIRTUAL_USERS_2(虚拟用户)
INTERNET_SITE_NOINETD(不使用inetd服务的网络ftp站点) README(说明书) VIRTUAL_USERS(虚拟用户)
二. 部署ftp
(一):快速部署安全可靠匿名ftp服务:
1.配置网络参数及基本设置:
[root@localhost ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ##设置静态IP及网络参数
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.202
NETMASK=255.255.255.0
GATEWAY=192.168.200.254
DNS1=192.168.200.254
DNS2=202.106.0.20
:wq
[root@localhost ~]# chkconfig iptables off ##禁用防火墙
[root@ftp ~]# sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config ##禁用selinux
[root@ftp ~]# vi /etc/sysconfig/network ##修改主机名
NETWORKING=yes
IPV6=no
HOSTNAME=ftp.linuxfan.cn
:wq
[root@localhost ~]# chkconfig NetworkManager off ##禁用NM网络管理,如果是最小+开发工具安装的系统,不会有服务,报以下错误
在 NetworkManager 服务中读取信息时出错:没有那个文件或目录
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@ftp ~]# vi /etc/yum.repos.d/centos.repo ##编写yum配置文件
[local]
named=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq
[root@localhost ~]#
[root@localhost ~]# echo "/dev/cdrom /mnt/ iso9660 defaults 0 0" >>/etc/fstab ##永久挂载光盘,注意放入光盘
[root@localhost ~]# mount -a
[root@localhost ~]# reboot ##重启主机生效
2.安装并配置匿名ftp:
[root@ftp ~]# yum -y install vsftpd ftp lftp wget ##安装vsftpd服务端及客户端软件工具ftp/lftp(交互式工具)wget(非交互工具)
[root@ftp ~]#
[root@ftp ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak ##备份配置文件
[root@ftp ~]# cp /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /etc/vsftpd/ ##复制案例中配置文件
cp:是否覆盖"/etc/vsftpd/vsftpd.conf"?y ##y覆盖
[root@ftp ~]# /etc/init.d/vsftpd start
为 vsftpd 启动 vsftpd: [确定]
[root@ftp ~]# chkconfig vsftpd on
[root@ftp ~]#
[root@ftp ~]#
[root@ftp ~]# touch /var/ftp/linuxfan.txt ##创建测试文件
3.访问测试:
1)Linux访问测试:
[root@ftp ~]# cd /tmp/
[root@ftp tmp]# ls
yum_save_tx-2017-10-16-19-225CmgHr.yumtx
[root@ftp tmp]# lftp 192.168.200.202 ##登录到ftp服务器
lftp 192.168.200.202:~> ls
-rw-r--r-- 1 ftp ftp 0 Oct 16 11:28 linuxfan.txt
drwxr-xr-x 2 ftp ftp 4096 Mar 01 2013 pub
lftp 192.168.200.202:/> get linuxfan.txt ##lftp支持下载时使用tab补齐
lftp 192.168.200.202:/> bye ##退出
[root@ftp tmp]# ls
linuxfan.txt yum_save_tx-2017-10-16-19-225CmgHr.yumtx
[root@ftp tmp]#
[root@ftp tmp]# rm -rf linuxfan.txt ##删除测试文件
[root@ftp tmp]# wget ftp://192.168.200.202/linuxfan.txt -P /tmp ##非交互下载,-P指定下载位置
--2017-10-16 19:31:04-- ftp://192.168.200.202/linuxfan.txt
=> “/tmp/linuxfan.txt”
正在连接 192.168.200.202:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> SIZE linuxfan.txt ... 完成。
==> PASV ... 完成。 ==> RETR linuxfan.txt ... 完成。
[ <=> ] 0 --.-K/s in 0s
2017-10-16 19:31:04 (0.00 B/s) - “/tmp/linuxfan.txt” 已保存 [0]
[root@ftp tmp]# ls ##查看验证
linuxfan.txt yum_save_tx-2017-10-16-19-225CmgHr.yumtx
[root@ftp tmp]#
本文来源于:全网详细的FTP搭建步骤-变化吧门户
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论