您好,欢迎访问三七文档
机械工业出版社第十章项目4——架设FTP服务器机械工业出版社【职业能力目标】1)了解FTP服务器的工作原理。2)掌握搭建FTP服务器的方法。Vsftpd/etc/vsftpd/vsftpd.conf/var/ftp/ftpusers——denyuser-list——deny,permit用户:三类(匿名用户(anonymous、ftp)、本地用户、虚拟用户)机械工业出版社10.1FTP服务预备知识1.FTP简介FTP(FileTransferProtocol),是文件传输协议的简称。FTP协议需要通过TCP协议建立两个联机通道才能够顺利地传输数据,一个是“传输控制信息”通道,TCP端口号为21;另一个是“传输数据信息”通道,TCP端口号为20。机械工业出版社2.主动模式与被动模式。(1)主动模式:Port模式FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端主动通过自己的TCP20端口连接至客户端的指定端口发送数据。FTPserver必须和客户端建立一个新的连接用来传送数据。机械工业出版社机械工业出版社2.主动模式与被动模式。(2)被动模式:被动模式在建立控制通道的时候和主动模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,服务器被动的等待客户端连接。然后FTP服务器将通过这个端口进行数据的传送。机械工业出版社机械工业出版社10.2任务1——搭建匿名访问FTP服务器•10.2.1需求分析–任务景境:在一局域网中,选择一台主机做为服务器,在服务器上搭建FTP服务器,用来共享文件。搭建完成后,期望能够匿名登录并可以在特定的pub文件夹上传、下载文件。–任务分析:首先要在Linux系统中安装FTP服务器及其相关的组件,安装方式选择比较简便常用的RPM方式,安装完软件,对服务器进行简单的配置,通过网管工作站匿名登录FTP服务器,进行上传、下载测试。机械工业出版社10.2.2配置方案实现FTP服务器基本功能只需安装一个vsftpd软件:•vsftpd:FTP服务器软件。•安装步骤如下:1.建立挂载点,挂载光驱2.安装vsftpd软件包。3.配置FTP服务器。4.从网管工作站匿名登录FTP服务器。机械工业出版社10.2.3配置过程具体配置步骤:1、挂载光驱#mkdir/mnt/cdrom#mount/dev/cdrom/mnt/cdrom#cd/mnt/cdrom/Server/2、查询已安装软件包#rpm–qa|grepvsftpd3、安装软件包#rpm–ivhvsftpd-2.0.5-12.el5.i386.rpm机械工业出版社10.2.3配置过程4、配置vsftpd服务器满足匿名用户访问anonymous_enable=YES允许匿名用户登录anon_umask=022匿名用户上传的文档权限anon_upload_enable=YES允许匿名用户上传文件anon_mkdir_write_enable=YES允许匿名用户建立目录anon_other_write_enable=YES允许匿名用户重名名文件及删除文件5、配置匿名用户对pub目录可写#chmod–R777/var/ftp/pub或者:#chownftp/var/ftp/pub机械工业出版社10.2.4应用测试1、查看已安装软件包#rpm-qa|grepvsftpd2、启动vsftpd服务,并查看其运行状态#servicevsftpdstart#servicevsftpdstatus3、查看vsftpd服务器占用端口情况#netstat-tnlp|grep214、设定开机自动启动bind服务器#chkconfig--level3vsftpdon#chkconfig--list|grepvsftpd机械工业出版社10.2.4应用测试5.从网管工作站匿名登录FTP服务器在网管工作站的浏览器中输入ftp://服务器IP,就会以匿名身份登录到FTP服务器上,并有权在pub目录下进行上传文件,修改文件,删除文件(delete)等操作。机械工业出版社10.3任务2——配置本地用户登录FTP服务器•10.3.1需求分析–任务情景:若FTP服务器的内容不希望让匿名用户读取,则可以通过认证的方式,让本地用户通过输入用户名和密码方能读取。搭建一个FTP服务器,不允许匿名用户登录,允许两个本地用户(分别为用户reader和用户writer)登录,用户reader仅拥有读权限,用户writer拥有读、写两种权限。–任务分析:首先在系统中添加两个用户reader和writer,在主配置文件中,禁用匿名用户的相关配置,通过限制,只允许reader和writer两个用户登录FTP服务器。。机械工业出版社10.3.2配置方案配置步骤如下:1.在linux系统中添加两个用户reader和writer。2.将FTP服务器根目录的权限赋值给用户writer,让用户writer拥有控制权。3.修改主配置文件,增加本地用户登录的相关参数。4.为用户reader和用户writer分别定制权限,以达到预期的目的。5.限制系统仅允许用户reader和用户writer登录FTP服务器。机械工业出版社10.3.3配置过程1、添加本地用户reader和用户writer。#useraddwriter#passwdwriter#useraddreader#passwdreader2、将FTP服务器根目录的控制权赋值给用户writer。#chown–Rwriter.writer/var/ftp机械工业出版社3、配置本地用户的相关参数。local_enable=YES允许本地用户登录write_enable=YES开放本地用户写权限local_umask=022本地用户上传文档和建立目录的权限local_root=/var/ftp指定FTP服务器根目录userlist_enable=YES激活vsftpd检查用户列表userlist_deny=NO用户列表允许登录,其他用户不允许登录chroot_local_user=YES锁定本地用户4、编辑user_list文件输入想要允许登录的用户,每个用户占一行:readerwriter机械工业出版社10.3.4应用测试1.验证仅允许用户reader和writer登录。为了体现测试的一般性,这里首先新建一个用户upload,分别选用用户reader和用户upload作比较。结果应该是,reader可以登录,upload不可以登录。2、验证用户reader和writer权限分配情况结果应该是,reader只能读,不能写入,writer可以读,可以写。机械工业出版社10.4任务3——配置虚拟用户登录FTP服务器•10.4.1需求分析–任务情景:由于FTP协议在传输过程中采用明文传输,即传输用户名和密码不进行任何加密,所以用户名及密码很容易被嗅探。选用db4数据库存储用户名及密码,在db4数据库中分别建立两个用户vreader和vwriter,分别代表虚拟只读用户和虚拟可写用户。–任务分析:首先查看系统是否已经安装db4数据库,创建一个存放用户名密码的文档,使用命令生成数据库文件,配置FTP服务器,禁用本地用户登录,仅允许通过数据库中的虚拟用户进行登录,验证用户权限分配情况。机械工业出版社10.4.2配置方案1.查看系统是否已安装db4数据库。2.创建一个存放用户名密码的文档。3.生成数据库文件。4.建立认证文档、虚拟用户。5.配置FTP服务器,通过数据库中的虚拟用户进行登录。机械工业出版社10.4.3配置过程1、查看系统是否已安装db4数据库。#rpm–qa|grepdb4配置虚拟用户时需要用到db_load命令,该命令属于软件包db4-utils-4.3.29-9.fc6安装db4-utils:#rpm–ivhdb4-utils-4.3.29-9.fc6.i386.rpm机械工业出版社10.4.3配置过程2、创建一个存放虚拟用户名密码的文档。#vi/home/login.txt输入下列代码:vreader//用户名vreader//用户vreader密码vwriter//用户名vwriter//用户vwriter密码3、生成数据库文件。#db_load-T-thash-f/home/login.txt/etc/vsftpd/vsftpd_login.db机械工业出版社10.4.3配置过程4、建立认证文档、虚拟用户。#vi/etc/pam.d/ftp输入下列代码:authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_loginaccountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login5、创建一个用户vftp并赋予权限#useradd-d/home/vftp-s/sbin/nologinvftp#chown–Rvftp.vftp/var/ftp机械工业出版社10.4.3配置过程6、配置虚拟用户的相关参数anonymous_enable=NOlocal_enable=YESwrite_enable=NOchroot_local_user=YESguest_enable=YES允许来宾用户访问guest_username=vftp指定来宾用户的名字virtual_use_local_privs=YES使虚拟用户具有本地用户的权利local_root=/var/ftppam_service_name=ftp指定pam配置文件user_config_dir=/etc/vsftpd/user_config_dir用户个性化配置目录机械工业出版社10.4.3配置过程7、配置虚拟用户vwriter的个性参数#vi/etc/vsftpd/user_config_dir/vwriter添加如下代码:write_enable=YES单独为vwriter赋予写权限配置虚拟用户vreader的个性参数#vi/etc/vsftpd/user_config_dir/vreader添加如下代码:write_enable=NO单独为vreader赋予写权限机械工业出版社10.4.4应用测试1.验证仅允许用户vreader和vwriter登录。尝试使用之前的本地用户reader登录,与vreader做比较。结果应该是,reader不可以登录,vreader可以登录。2、验证vreader和vwriter的权限分配情况结果应该是,vreader只能读,不能写入,vwriter可以读,可以写。机械工业出版社10.5拓展实验•在任务3中选用db4数据库存放虚拟用户的用户名及密码,事实上可以采用mysql数据库来存放用户名及密码。在sourceforge上有一个关于pam-mysql的开源项目可以实现mysql数据库形式的虚拟用户。尝试完成mysql数据库形式的虚拟用户。机械工业出版社本章小结•项目四分三个任务,详细介绍了在Linux系统平台上通过vsftpd软件搭建不同类型的FTP服务器。匿名用户、本地用户和虚拟用户,三种类型的FTP服务器都跟系统的权限有一定的关系,要熟练配置FTP服务器,首先要掌握对系统权限赋值,还要理解配置文件各项参数的作用,这样才能搭建出满足需求的FTP服务器。
本文标题:架设FTP服务器
链接地址:https://www.777doc.com/doc-4024166 .html