姓名:沈超邮箱:shenchao@lampbrother.net网络文件系统-FTP本章目标1.FTP服务的基本概念2.安装ftp服务器所需软件3.掌握vsftpd服务器的配置和管理4.使用ftp命令对FTP服务器进行测试FTP服务器及基本原理FTP服务的基本概念FTP是用于进行文件传输的网络协议FTP服务中分为服务器和客户机两个角色FTP服务器的传输模式主动模式:由服务器主动连接客户机建立数据链路被动模式:FTP服务器等待客户机建立数据链路FTP服务器使用的端口21端口用于与客户机建立命令链路在主动模式下服务器使用20端口向客户机建立数据链路主动模式的连接过程1:FTP客户机由大于1024的N端口向FTP服务器的21端口发出请求建立命令链路2:FTP服务器由21端口向FTP客户机的N端口回应,确认建立命令链路3:FTP服务器由20端口向FTP客户机的N+1端口主动建立数据链路连接4:FTP客户机由N+1端口向FTP服务器的20端口回应,确认数据链路的建立被动模式的连接过程1:FTP客户机由大于1024的N端口向FTP服务器的21端口发出请求建立命令链路2:FTP服务器由21端口向FTP客户机的N端口回应,确认建立命令链路3:FTP服务器会通过已建立的数据链路通知客户机自己已经打开了大于1024的端口M,用于建路数据链路;当需要传输数据时,FTP客户机会通过N+1端口向FTP服务器的M端口请求建立数据链路4:FTP服务器在M端口监听到FTP客户机的连接请求后,将从M端口向FTP客户机的N+1端口确认数据链路的建立常用FTP服务器软件Windows下常用的FTP服务器软件IIS具有FTP服务器的功能Serv-U是流行的FTP服务器软件Linux下的FTP服务器Wu-ftpd出现较早,运行稳定,安全性稍差Proftpd在配置文件和安全性方面有很大改进vsftpd着重强调服务的安全性,运行效率也很高ftp命令作为FTP客户端ftp命令是最基本的FTP客户端软件在Linux和Windows系统中都默认提供ftp命令ftp命令的交互环境中使用命令对FTP服务器进行操作get命令用于下载文件,put命令用于上传文件mget和mput用于一次下载或上传多个文件bye命令可退出ftp命令交互环境FTP客户端软件FTP客户端软件的特点运行在图形环境下的窗口程序可使用鼠标和通过菜单进行操作用户界面友好,操作方便常用FTP客户端软件web浏览器都可以直接访问ftp网站CuteFTP是Windows下流行的商业软件安装vsftpdvsftpd的安装需要注意以下几点系统中默认没有安装vsftpd服务器安装文件名称是vsftpd-2.0.1-5.i386.rpm使用rpm命名可顺利安装该软件包#rpm-ivhvsftpd-2.0.1-5.i386.rpm#yum-yinstallvsftpd*vsftpd.conf配置文件vsftpd.conf是vsftpd服务器的主配置文件/etc/vsftpd/vsftpd.conf配置文件中所有的配置项都有相同的格式anonymous_enable=YES配置文件中的注释行以“#”开始配置文件的详细帮助信息可查询手册页#manvsftpd.confvsftpd.ftpusers文件vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号#head-5/etc/vsftpd.ftpusers#Usersthatarenotallowedtologinviaftprootbindaemonadmvsftpd.ftpusers文件中可禁止高权限本地用户登录FTP服务器,提高了系统的安全性vsftpd.user_list文件vsftpd.user_list文件具有对vsftpd服务器更灵活的用户访问控制/etc/vsftpd.user_list使用vsftpd.user_list文件需要在主配置文件中进行设置设置禁止vsftpd.user_list文件中的用户登录userlist_enable=YESuserlist_deny=YES设置只允许vsftpd.user_list文件中的用户登录userlist_enable=YESuserlist_deny=NO匿名用户登录vsftpd服务器提供匿名用户登录的功能匿名用户使用的登录用户名anonymousftp匿名FTP用户登录的口令通常是使用用户的E-mail地址,在vsftpd中输入任何字符串或直接回车都可以登录所有匿名用户都登录到相同的目录中/var/ftpFTP服务器的匿名登录可用于构建公共的文件下载服务器vsftpd服务的启动和关闭服务器启动脚本启动脚本名称是vsftpd/etc/init.d/vsftpdvsftpd服务需要设置在运行级别3和5自动启动#chkconfig--level35vsftpdon服务器启动#servicevsftpdstart服务器停止#servicevsftpdstop服务器状态查询#servicevsftpdstatus使用ftp命令登录FTP服务器ftp命令登录FTP服务器的格式#ftp192.168.1.2匿名登录使用用户名anonymous或ftp登录的FTP根目录为系统目录“/var/ftp”本地用户登录使用系统用户帐号和口令登录ftp服务器登录FTP服务器后的目录为用户宿主目录,用户可转换到系统中的其他目录FTP本地用户帐号的问题使用FTP本地用户帐号存在安全性问题本地用户登录FTP目录后可从宿主目录转换到其他目录,不是很安全可以设置将本地用户禁锢在宿主目录中将FTP本地用户禁锢在宿主目录中在vsftpd.conf文件中添加设置项chroot_local_user=YES重新启动vsftpd服务#servicevsftpdrestart使用ftp客户端验证本地用户登录FTP服务器后,宿主目录将作为根目录vsftpd中支持的用户类型匿名用户使用公共的用户帐号进行登录,通常用于提供公共文件下载服务本地用户使用Linux系统用户帐号登录,每个用户都使用各自的宿主目录配置vsftpd服务器中的资源限制vsftpd服务器中的资源使用可以进行限制max_clients=100max_per_ip=5local_max_rate=500000anon_max_rate=200000max_clients设置项用于设置FTP服务器所允许的最大客户端连接数,值为0时表示不限制max_per_ip设置项用于设置对于同一IP地址允许的最大客户端连接数,值为0时表示不限制local_max_rate设置项用于设置本地用户的最大传输速率,单位为bytes/sec,值为0时表示不限制anon_max_rate设置项用于设置匿名用户的最大传输速率,单位为bytes/sec,值为0表示不限制本章小结1.ftp服务器软件的安装2.ftp配置文件的编写3.ftp服务的启动和停止4.ftp服务器的访问课后练习1.安装ftp服务器端软件2.熟练配置ftp配置文件3.启动和停止ftp服务4.用web浏览器去访问ftp服务器5.用ftp命令去访问ftp服务器姓名:沈超邮箱:shenchao@lampbrother.netThankyou!