运城推广型网站建设,crm客户管理系统论文,网站与网页,wordpress主题标签生成目录 一、FTP协议两种工作模式 二、FTP数据两种传输模式 三、FTP用户分类 四、VSFTP配置案例 4.1匿名开放模式 4.2本地用户模式 4.3虚拟用户模式 五、实验总结 一、FTP协议两种工作模式 主动模式#xff1a; 1、客户端主动向ftp服务器发送控制连接#xff0c;三次握手控制连接… 目录 一、FTP协议两种工作模式 二、FTP数据两种传输模式 三、FTP用户分类 四、VSFTP配置案例 4.1匿名开放模式 4.2本地用户模式 4.3虚拟用户模式 五、实验总结 一、FTP协议两种工作模式 主动模式 1、客户端主动向ftp服务器发送控制连接三次握手控制连接建立成功密码认证。 源端口随机端口1026 目的端口21 2、用于传输控制命令的控制连接建立成功之后客户端向ftp服务器发送port消息来告诉ftp服务器接下来要与其传输数据所使用的端口号。 如随机端口号1027 3、若要彼此传输数据ftp服务器主动与客户端建立数据连接。 源端口号20 目的端口号1027客户端通过控制连接发送过来的port消息携带的 说明我们知道防火墙是根据报文五元组建立会话来对外部流量进行筛选是否允许其访问内网。如果ftp客户端位于防火墙的内网此时防火墙只缓存的有客户端与ftp服务器之间控制会话。如果采用主动模式当ftp服务器要向客户端发送数据连接请求时在经过防火墙时由于会话表里保存的没有此五元组端口号的记录因此防火墙就会禁止ftp请求数据连接报文的通过因此彼此之间无法进行ftp文件的传输。 被动模式 1、客户端主动向ftp服务器建立控制连接三次握手控制连接建立成功密码认证。 源端口 随机端口1025 目的端口 21 2、控制连接建立成功后客户端向ftp服务器发送PASV被动消息告诉ftp服务器在接下来传输数据时其处于被动模式由客户端向ftp服务器建立数据连接。 3、ftp服务器收到PASV消息后自己开放个用于传输数据的随机端口号如m并将其端口号告诉给客户端。 4、要传输数据时由客户端发送数据连接。 源端口1026随机端口 目的端口m 说明被动连接解决了在防火墙的环境下处于内外区域的c/s之间无法通过ftp传输数据的问题。因为不管是控制连接还是数据连接都是先由客户端主动发起的因此防火墙会话表里就含有彼此报文交互的五元组会话记录当ftp要向客户端回复数据连接建立成功经过防火墙时报文匹配会话五元组放行流量。 二、FTP数据两种传输模式 1、ASCLL传输方式用于传输文本文件。如果用户使用的是windows系统需要从unix系统搭建的服务器上下载一个文本文件。由于不同操作系统之间对文本内容文件的换行符表示的字符不同如win /r/n ,unix /n如果直接将unix的文本文件原样下载到win系统上在win系统上查看文本内容时文本之间将没有换行在换行处会出现无法解析的乱码。因此ASCLL文本传输模式会自动将不同主机之间传输的文本文件中的换行符转换成本地的表示形式在存到本机。这样在向ftp服务器上传或下载文本文件后就不会出现换行处不换行乱码的情况了。 2、Binary二进制传输形式用于传输二进制文件。在此模式下不会对文件进行任何处理即保存文件的位序。因此如果下载的是二进制非文本文件如果使用ASLL数据传输模式无疑会把二进制文件中原本的字符当换行符转换后破坏其整个二进制文件。 三、FTP用户分类 1、匿名用户即anonymous用户。当客户端要访问ftp服务器时可以在没有服务器用户名和密码的前提下通过匿名用户访问ftp服务器的共享资源。 2、实体用户指在ftp服务器上创建注册的本地账户。其用户在登录到ftp服务器后默认的当前工作目录为以自己命名的工作目录可以修改。不仅可以访问ftp的共享资源还可以访问其系统下该用户的其它资源。 3、虚拟用户为了保证FTP服务器的安全性由vsftpd服务器提供的非系统用户账号。虚拟用户FTP登录后将把指定的目录作为FTP根目录。虚拟用户与本地用户具有类似的功能由于虚拟用户相对安全因此正逐步替代本地用户账号的使用。 四、VSFTP配置案例 实验环境 VSFTP-Server IP192.168.200.254/24 VSFTP-Client IP192.168.200.28/24 4.1匿名开放模式 FTP-Server 1、安装vsftp服务 2、查看vsftp服务相关配置文件 3、在客户机上安装ftp客户端工具用于登录到ftp服务器 4、备份/etc/vsftpd/vsftpd.conf主配置文件、生成vsftp主配置文件、修改并添加匿名用户的配置参数 5、防火墙放行ftp服务否则ftp拒绝用户登录匿名用户默认登录到ftp服务器的主目录为/var/ftp/pub目录授予匿名用户映射服务器的真实用户ftp的写权限并设置selinux的布尔值参数否则匿名用户无法创建上传文件。 6、开启vsftpd服务 7、客户端登录ftp服务器下载并上传文件测试 4.2本地用户模式 FTP-Server 1、安装vsftpd服务程序、备份主配置文件/etc/vsftpd/vsftpd.conf。前面已有做过再此略过。 2、修改并添加主配置文件中本地用户相关配置参数将之前实验的匿名用户登录关闭。与本地用户配置相关的主要参数local_enableYESwrite_enableYESlocal_umask022其它可选。 3、创建用于客户端登录测试的ftp本地账户 4、防火墙放行ftp服务流量、设置selinux的布尔值策略、因为本地用户默认登录到ftp服务器工作主目录为自己的家目录因此在自己的家目录拥有写入的权限。由于上面演示过了此处不在表述。 5、重启ftp服务 6、客户端使用测试本地账户ftpclient登录ftp服务器进行测试。 7、客户端使用ftp系统的root用户登录到ftp服务器进行测试。 8、从ftp服务器黑名单中删除root用户来允许其登录到ftp服务器 9、重启ftp服务、客户端使用root用户重新登录ftp测试。 10、去除ftp主配置文件中的chroot_local_userYES根锁定参数在用客户端登录测试。 4.3虚拟用户模式 VSFTP-Server: 1、在ftp服务器的/etc/vsftpd目录下创建包含有虚拟账户和其密码的文件。 2、使用db-load命令将创建的虚拟用户信息文件转化成vsftpd服务可以直接加载的数据库文件。 3、创建用于虚拟用户权限身份验证的PAM文件文件名任意将刚才生成的虚拟用户信息数据库文件关联到PAM认证文件内。 4、创建虚拟用户映射到ftp服务器的真实账户并通过指定真实用户的家目录来映射虚拟目录登录到服务器的主目录。并修改权限允许其它人查看但不能修改其虚拟用户的文件。 5、在vsftp主配置文件中配置虚拟用户的相关参数。指定之前创建的PAM认证文件以及与虚拟用户关联的本地用户。 6、给虚拟用户配置不同的权限如只允许vuser1查看文件而允许vuser2上传、创建、修改、查看、删除文件。这种需求在企业真实环境中是常见的我们可以通过vsftpd服务器程序来实现。 6.1、修改vsftpd主配置文件过添加 user_config_dir参数来定义这两个虚拟用户不同权限的配置文件所存放的路径。 *标注下滑线是配置虚拟用户所使用到的配置参数。 6.2、在/etc/vsftpd/respective目录下创建分别以虚拟用户名命名的配置文件使vsftp通过虚拟用户名来找到各自的权限配置文件并写入相应的权限。 7、重启vsftpd服务使配置文件立即生效。 VSFTP-Client: 1、使用vuser1登录测试验证其是否具有创建目录权限。 2、使用vuser2登录测试其是否具有创建、删除、修改、上传文件权限。 五、实验总结 1配置了虚拟用户登录后本地用户登录就会失效。可以通过修改PAM认证文件调用的模块函数库可以解决。 2vsftpd主配置文件中必须要开启本地登录模式。如果不开将报错提示本地模式和匿名模式必须开启一个显然虚拟用户模式就是为了提高安全因此我们不开匿名模式而开启本地模式。 32.6.4节中的主配置文件参数allow_writeable_chrootYES必须开启如果不开将报错。 4防火墙影响ftp登录默认情况防火墙策略阻止了ftp端口ftp客户端登录将得到“无法路由到主机”的报错。 5SELinux阻止文件创建本来vuser2是有创建文件权限的但是由于受到默认SELinux策略影响将不能创建文件。此时需要在ftp服务器执行setsebool -P ftpd_full_accessoff命令即可。 声明“山月润无声”博主知识水平有限以上文章如有不妥之处欢迎广大IT爱好者指正小弟定当虚心受教