我见过最好的Linux教程——FTP文件传输协议原来这么简单

会当凌绝顶,一览众山小

FTP服务概述

FTP一个专门用来做文件传输的服务,FTP是File Transfer Protocol(文件传输协议)的英文简称,用户internet上控制文件的双向传输,同时他还是一个应用程序,用户也可以通过自己的客户机与世界所有运行ftp协议的服务器相连接,访问服务器上大量的程序和数据。

FTP的工作原理

FTP的诞生大大简化了文件传输的复杂性,它能够让文件通过网络从一台主机传送到另一台主机上面,却不受计算机和操作系统类型的限制,无论是pc 服务器 大型机 还是dos windows Linux 操作系统,只要双方都支持ftp协议,就可以方便,可靠的文件传送。

匿名用户详解

ftp不同于www ,想要通过ftp传输文件,首先要求登录到服务器上面,然后才能进行文件的传输,这对于很多公开提供软件下载的服务器来说非常的不方便,于是匿名用户就此诞生,通过使用一个共同用户名(Anonymous)的账户密码无限制的管理策略,让任何用户都可以很方便的在这些服务器上面下载。

FTP服务的两大模式

ftp有两种工作模式,主动传输模式被动传输模式
通俗的来讲主动传输模式下的FTP服务器是主动连接客户机的数据端口来进行文件的传输,而被动传输模式下的FTP服务器是 被动的等待客户的来连接服务器的数据端口来进行文件的传输。被动传输模式下主适用与开启防火墙之后的客户机访问外界FTP服务器时的情况,因为在这种情况下防火墙通常配置为不允许外界访问此客户机,而只允许开启防火墙之后的服务器发起的连接通过,因此使用被动传输模式就可以很好的进行工作。

VSFTP主配置文件的详解

我会对文件中默认自带的配置进行解释,vsftp的高级配置我会再为大家讲的。

 12 anonymous_enable=YES			##控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。
 15 local_enable=YES				##允许本地用户登录
 18 write_enable=YES				##是否允许登陆用户有写权限。属于全局设置,默认值为YES。
 22 local_umask=022					##设置本地用户上载文件的umask值为022
 27 #anon_upload_enable=YES			##允许匿名登入者有上传文件(非目录)权限,只有在write_enable=YES时,此项才有效
 31 #anon_mkdir_write_enable=YES	##允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。
 35 dirmessage_enable=YES			##用户首次进入一个新目录时,允许得到欢迎信息
 39 xferlog_enable=YES				##允许产生日志
 42 connect_from_port_20=YES		##使用20号端口作为建立数据连接时的源端口
 47 #chown_uploads=					##YES设置是否改变匿名用户上传文件(非目录)的属主。
 48 #chown_username=whoever			##设置匿名用户上传文件(非目录)的属主名。建议不要设置为root。
 52 #xferlog_file=/var/log/xferlog	##设置日志文件存放路径
 56 xferlog_std_format=YES			##日志采用标准xferlog格式
 59 #idle_session_timeout=600		##设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒
 62 #data_connection_timeout=120	##设置建立FTP数据连接的超时时间,单位为秒
 85 #ftpd_banner=Welcome to blah FTP service.##这里用来定义欢迎话语的字符串
 89 #deny_email_enable=YES			##若是启动这项功能,则必须提供一个档案banner_emails,内容为email address。
 若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。
 90 # (default follows)
 91 #banned_email_file=/etc/vsftpd/banned_emails	##设置存放匿名用户邮件密码列表的文件
 96 #chroot_local_user=				##YES指定用户列表文件中的用户是否允许切换到上级目录
 97 #chroot_list_enable=			##YES是否启用chroot_list_file配置项指定的用户列表文件
 98 # (default follows)
 99 #chroot_list_file=/etc/vsftpd/chroot_list	##该文件用于控制哪些用户可以切换到用户家目录的上级目录
105 #ls_recurse_enable=YES			##允许登入者使用ls –R(可以查看当前目录下子目录中的文件)
110 listen=YES						##允许监听端口
115 #listen_ipv6=YES				##监听IPv6端口
117 pam_service_name=vsftpd			##指定PAM服务配置文件的名字,再/etc/pam.d目录
118 userlist_enable=YES				##使userlist_file选项生效,定义一个用户列表
119 tcp_wrappers=YES				##连接请求转有TCP_Wrappers完成访问控制

以上就是就是vsftp主配置文件默认的参数了,其他需要添加的参数后期我会为大家再详细讲解的
服务器配置完成之后我们就可以进行客户端的连接访问了
操作如下:
我们找一台服务器直接安装ftps然后重启就可以了,vsftp里的默认设置就可以支持我们不做限制的进行文件传输。

[root@Demo ~]# yum install -y vsftpd
[root@Demo ~]# service vsftpd restart
Shutting down vsftpd:                                      [FAILED]
Starting vsftpd for vsftpd:                                [  OK  ]
[root@Demo ~]# 

在局域网中的一台客户机中安装ftp

[root@Client1 ~]# yum install -y ftp

安装完成我们直接请求连接ftp服务器(因为我们开启了ftp的匿名用户)我们直接使用匿名用户登录密码是空。

[root@Client1 ~]# ftp 192.168.0.101
Connected to 192.168.0.101 (192.168.0.101).
220 (vsFTPd 2.2.2)
Name (192.168.0.101:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

登录成功,是不是很简单呢,后面关于VSFTP的高级配置,比如多站点,虚拟用户目录访问控制等,关注我,我会在后面为大家讲解的。
制作不易,转载请注明出处。

你可能感兴趣的:(Linux服务器建设篇)