首页 > 其他 > 详细

FTP--文件共享服务

时间:2018-11-30 23:54:53      阅读:344      评论:0      收藏:0      [点我收藏+]
1.实现共享服务常用的有三种
1.)ftp:属于应用层服务,可以跨平台使用(linux< -- >unix< -- >windows)
2.)Nfs:属于内核模式,不可以跨平台(linux< -- >linux)
3.)samba:可以跨平台使用(linux< -- >unix< -- >windows)
2.实现存储设备域服务器连接的方式有三种
1.)DAS:连接的磁盘。
2.)NAS:通过nfs/cifs协议实现网络文件共享(文件存储方式)电子邮件、网页服务器多媒体流服务、档案分享等就适用以NAS存储架构。
3.)SAS:通过网线或光纤实现ISCSI和FCSAN将物理存储设备连接起来使用(块存储方式比较底层,需要格式化并挂载当本地磁盘使用)数据库有关的应用适用于SAN存储架构。
3.FTP
FTP是File Transfer Portocol文件传输协议的缩写,基于网络来传输文件的应用层协议。
FTP能够通过网络来传输文件,主要是因为工作在应用层所以不会受到平台的限制。
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
4.FTP传输模式
技术分享图片
①FTP的数据传输分为命令数据与文件数据,命令传输就是客户端要执行的命令,服务端收到后返回给客户端执行结果,如ls命令的执行结果一样,文件传输就是客户端要传输的数据,服务端与客户端数据连接来传输。
②FTP的服务端与客户端建立连接大体的三个步骤:建立连接、传输数据、断开连接。(基于tcp连接方式)
③FTP是基于tcp协议来传输数据的,使用21号端口来建立认证通道,20号端口来建立数据通道。
④FTP是明文传输的。
⑤FTP的用户可分为实体用户(real user),匿名用户(anonymous user),访问用户(gurest user)。
5.FTP的工作模式
由于现在的网络架构中,都会有防火墙来阻止端口与高位端口被主动连接,特别20端口是被禁止主动连接的,因为20端口是FTP的数据端口,所以为了解决客户端或者服务器的防火墙问题,FTP就有了主动和被动两种模式,通过墙内的一端来主动连接外端的一方,这样子就不会被防火墙阻挡了。
①主动模式
一般用于服务端存在防火墙的情况,客户端无法主动连接至服务器的20数据端口,需要服务端主动连接客户端的高位数据端口。
两端在建立tcp通道后,客户端会发送port请求与服务端的21号端口认证连接并发送开放用来建立数据连接的高位端口号。
服务端在收到后,会通过20号端口发送ACK响应请求。
服务端会通过20端口与客户端发送的高位端口建立数据连接通道。
②被动模式
一般用于客户端存在防火墙的情况,服务端在收到连接请求后因为客户端防火墙而无法达到客户端的高位端口,需要客户端主动连接至服务端的数据传输端口。
两端在建立TCP通信通道连接后,客户端会发送PASV请求给服务端。
服务端在收到PASV请求后,会打开一个高位端口作为数据传输端口来响应给客户端,等待客户端连接。
客户端在收到响应后,就会去连接服务端响应的高位端口建立数据连接通道。
③图解
技术分享图片
6.FTP用户的类型
①匿名用户
anonymous或ftp
②本地用户
账户名称、密码等信息保存在passwd、shadow文件中
③虚拟用户
使用独立的账号/密码数据文件
举例:user_list wangwu 123456 /var/pub
7.VSFTPD
vsftpd是基于ftp协议来对网络数据交换的一种实现,是一个开源的解决方案。
1.)VSftpd软件包
①官方站点:http://vsftpd.beasts.org/(貌似被封了)
②主程序:/usr/sbin/vsftpd
③服务名:vsftpd
④用户控制列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
⑤主配置文件
/etc/vsftpd/vsftpd.conf
2.)vsftpd基础服务搭建(这里以NFS服务器做测试)

[root@NFS ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@NFS ~]# setenforce 0     #关闭 selinux
setenforce: SELinux is disabled
[root@NFS ~]# /etc/init.d/iptables status    #关闭防火墙
iptables: Firewall is not running.
[root@NFS ~]# yum install vsftpd -y
[root@NFS ~]# rpm -qa vsftpd
vsftpd-2.2.2-24.el6.x86_64
[root@NFS ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd         #pam认证文件
/etc/rc.d/init.d/vsftpd   #服务启动进程
/etc/vsftpd
/etc/vsftpd/ftpusers      #限制登陆文件
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf     #主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd           #程序文件
......
/var/ftp            #ftp家目录
/var/ftp/pub
[root@NFS ~]# 

配置文件参数说明

anonymous_enable=YES   #  是否允许匿名用户连接服务器端。
local_enable=YES    #  是否允许系统用户连接服务器端。
write_enable=YES   #  是否允许本地系统用户上传文件。
#anon_upload_enable=YES  #  是否允许匿名用户上传文件(默认不允许)。
#anon_mkdir_write_enable=YES   #  是否允许匿名用户创建目录(默认不允许)。
#anon_other_write_enable=YES   #  匿名用户其他的写权限(删除文件权限)。
dirmessage_enable=YES  #  进入某个目录是否显示欢迎信息。
xferlog_enable=YES  #  是否打开传输日志。
#xferlog_file=/var/log/xferlog   #  传输日志存放路径(默认没有启用)。
xferlog_std_format=YES  #  日志格式是否为标准格式的参数。(没必要、用于日志分析)
#chown_uploads=YES  #  用户上传文件后是否将其属主改为其他用户。
#chown_username=whoever  #  用户上传完成后将属主改为的用户名。
#idle_session_timeout=600   #  超时参数,默认会话超过 600 秒断开用户连接(控制连接相关)。
#data_connection_timeout=120     #  数据连接相关超时参数。
#ascii_upload_enable=YES  #  是否使用文本格式上传文件。
#ascii_download_enable=YES  #  是否使用文本格式下载文件。    
提示:除非只传文本格式数据,否则上面两个 ascli 参数需要注释掉,避免二进制数据被转换为文本格式。                         
#chroot_local_user=YES   #  是否让所有用户禁锢在家目录(如果想选择用户用下面两个参数)。                         
#chroot_list_enable=YES   #  是否定义用一个文件将特定用户所在它的家目录下。                                                     
#chroot_list_file=/etc/vsftpd/chroot_list   #  指定创建用户列表文件的路径(所有该文件目录都将被禁锢在用户的家目录中),该文件默认不存在,需要手动创建。
listen=YES   #  表示 vsftpd 是否工作为一个独立的守护进程。
pam_service_name=vsftpd  #  定义 pam 配置文件的名字。
userlist_enable=YES   #  是否开启禁止访问 FTP 的用户列表功能。

FTP--文件共享服务

原文:http://blog.51cto.com/13757877/2324504

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!