在RHEL配置FTP的相关概念以及权限


对于FTP的概念还有很多人不是很了解,在本文中首先要对FTP的概念进行一下解析,RHEL配置FTP我们先从了解一些有关的权限问题,下面进行具体的分析。

一、RHEL配置FTP相关软件
Vsftpd-2.0.1-5.i386.rpm (在rhel4 的第一张光盘中)

二、 FTP 相关概念
FTP是一个8位的客户端-服务器协议,属于网络协议组的应用层。FTP能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程
FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误

由于TCP/IP协议簇的脆弱行,FTP协议有一些先天的缺陷,密码和文件内容都使用明文传输,可能产生不希望发生的窃听。 因为必需开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题通过使用被动模式的FTP得到了很大解决。
FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。 运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。

FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。 一个主动模式的FTP连接建立要遵循以下步骤: 客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为z),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口z,在客户端,远程端口为21,在服务器。 客户端开始监听端口(z+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。 服务器打开20号源端口并且建立和客户端数据端口的连接。

此时,源端口为20,远程数据端口为(z+1)。 客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。被动模式在建立命令连接时和主动连接一致,但在建立数据通路时,服务器端会在命令通道里传输一个命令告诉客户机,自己开启了一个大于1024的端口(h)要求客户端来连接,客户端受到命令后会在自己的z+1号端口去连接服务器的h端口以建立数据通道。

三、RHEL配置FTP文件及数据文件
/etc/vsftpd/vsftpd.conf (RHEL配置FTPF服务主配置文件,其相关选项如下:)匿名权限控制
anonymous_enable=YES  #控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES。
no_anon_password=YES  #控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO。
anon_root=(none)   #匿名用户主目录默认为/var/ftp
local_enable=YES   #控制vsftpd所在的系统的用户是否可以登录vsftpd。默认值为YES。
local_root=(none)   #定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无
deny_email_enable=NO #此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户。即,当匿名用户使用banned_email_file文件中所列出的e-mail进行登录时,被拒绝。显然,这对于阻击某些Dos攻击有效。当此参数生效时,需追加banned_email_file参数
check_shell=YES   #仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录
userlist_enable=YES
userlist_deny=NO   #若启用此选项,userlist_deny选项才被启动若为YES,则vsftpd.user_list中的用户将不能登录,为NO则只有vsftpd.user_list的用户可以登录passwd_chroot_enable=NO #如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录ftp_username=FTP   #匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp。

以上主要是从理论上介绍了一下FTP以及一些RHEL配置FTP的相关权限和一些数据文件,希望能帮助到大家对RHEL配置FTP的认识


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3