1、配置linux下FTP服务器安徽邮电职业技术学院综 合 实 验 报 告 课程名称: Linux系统设置 实验项目名称: 配置Linux下的FTP服务器 学院: 软件学院 专业: 网络系统管理 班级: 091班 学号: 200907062128 姓名: 李正东 实验时间: 2010-12-17 实验报告提交时间: 2010/12/20 配置Linux下的FTP服务器1. 实验目的FTP(文件传输协议)是Internet上最常用的服务之一。可以实现网络上稳定高速的文件传输。本次实验的目的是通过安装和配置vsftpd,在Linux下架设FTP服务器的方法,了解vsftpd的工作原理,从而对FTP服务
2、器有一个更加深刻的认识。2. 实验网络环境两台PC机,一台做客户机,另一台做主机。两台PC机的IP地址的设置如下图所示:图一为主机的IP地址设定,图二为客户机的IP地址设定。 图1.0 主机的IP地址设定 图1.1 客户机的IP地址设定实验室的网络拓扑如下图所示: 图1.2 实验室拓扑3. 实验软件环境安装了redhat linux 9的操作系统,安装服务器程序文件vsftpd-2.0.5-16.el5_5.1.i386.rpm4. 实验步骤(1)安装vsftpd安装之前的准备: 安装之前我们应该看看用户“nobody”和目录“/usr/share/empty”是否存在,如果不存在需要新建这个
3、用户和目录。 rootlocalhost root# useradd nobody rootlocalhost root# mkdir /usr/share/empty 如果要允许匿名访问,还需要创建ftp用户,并将其主目录设置为/var/ftp。在RedHat Linux 9.0中这些都已默认设置好了,只需要创建一个/var/ftp目录就可以了。 rootlocalhost root# mkdir /var/ftp 为了安全起见,目录“/var/ftp”不应该属于用户“ftp”,也不应该有写权限。在此,我们可以做如下设置: rootlocalhost root# chown root.roo
4、t /var/ftp rootlocalhost root# chmod 755 /var/ftp 以管理员身份(root)登录Linux系统,将vsftpd-2.0.5-16.el5_5.1.i386.rpm复制到/root目录下。安装vsftpd软件包以root身份登录系统后,在shell提示符下输入【rpm q vsftpd】命令回车,查看是否安装了vsftpd软件包,如下图所示。从图中可以看到vsftpd软件包已经被安装了,这里就不需要安装了。 图1.3 查看是否安装了vsftpd软件包在shell提示符下输入【rpmivh vsftpd-2.0.5-16el5_5.1.i386.rp
5、m】命令回车,安装vsftpd软件包,如下图所示。 图1.4 安装vsftpd软件包(2)安装后续工作 由于采用源代码方式安装,很多必要的配置文件没有复制到系统中,需要手动复制。 复制配置文件: rootlocalhost vsftpd-2.0.5# cp vsftpd.conf /etc 复制pam验证文件:rootlocalhost vsftpd-2.0.5# cp RedHat/vsftpd.pam /etc/pam.d/ftp 然后在目录“/etc/vsftpd/vsftpd.conf”打开vsftp的配置文件,如下图所示图1.5 vsftpd的配置文件 在配置文件中可以设置访问权限等
6、anonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESlisten=YESpam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES (3)启动vsftpd服务 在shell提示符下输入以下命令回车,启动vsftpd服务#service vsftpd start结果如下图所示,由下图可以看出vsftpd服务已经被成功启动。 图1.
7、6 启动vsftpd服务器这样简单的ftp服务就搭建起来了,然后就可以到“/var/ftp/pub”目录中上传文件了。通过修改配置文件定制自己的ftp可以直接在配置文件vsftpd.conf中修改如下anonymous_enable=YES /yes 表示允许匿名访问local_enable=no / no 表示本地用户不能访问write_enable=YES /匿名用户有写的权限 anon_upload_enable=yes /匿名用户有上传和下载的权限anon_mkdir_write_enable=no /匿名用户没有创建目录的权限local_mkdir_write_enable=yes
8、/本地用户有创建目录的权限或者在命令行中输入:vi /etc/vsftp/vsftpd.conf 然后进行修改图1.7修改vsftpd的配置文件 保存修改后在命令行中输入:ls -l /var 查看ftp权限修改权限使匿名用户对目录具有读写的权限:在命令行中输入如下命令:chmod o+w /var/ftp然后输入:service vsftpd restart 重启ftp 服务创建用户和密码:rootlocalhost # useradd lizhengdongrootlocalhost # passwd lizhengdong Changing password for user lizhe
9、ngdongNew UNIX password: 00000BAD PASSWORD: it is too simplistic/systematicRetype new UNIX password: 325601passwd: all authentication tokens updated successfully.修改Vsftpd.conf文件将其中的anonymous_enable=NOlocal_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NOchown_username= lizhengdong然后重启ftp 服务
10、service vsftpd restart然后登录ftp服务器即可(4)Xinetd的配置在redhat linu9.0中,要想使用Xinetd启动VSFTPD的运行方式,那么首先要将vsftpd.conf配置文件中的listen参数值改为NO。其次,生成一个/etc/xinetd.d/vsftpd文件,内容如下:service vsftpddisable = nosocket_type = streamwait = nouser = rootserver = /usr/sbin/vsftpdport = 21log_on_success += PID HOST DURATIONlog_on
11、_failure += HOST通过修改disable的值为no或yes,并重新启动xinetd,从而启动或停止VSFTPD5. 实验结果实验测试在客户机上打开浏览器,在地址栏中输入ftp:/172.168.1.3/pub回车,即可登录到FTP服务器,如图所示: 图1.8 访问FTP服务器访问别人同组的FTP服务器图1.9 访问同组的FTP实验测试中遇到的问题1 在实验测试的过程中遇到了这样的问题:匿名用户可以登录FTP服务器,而本地用户无论怎样设置都无法登录,最后发现原因是vsftpd采用了PAM验证的方式,需要复制一个验证文件本地用户才能访问。而vsftpd由于采用的是源代码方式安装,很多
12、必要的配置文件没有复制到系统中,需要手动复制。在shell提示符下输入如下即可-rootlocalhost vsftpd-2.0.5# cp RedHat/vsftpd.pam /etc/pam.d/ftp ,最终解决了问题,感觉自己的印象更加深刻了。2 在ftp中上传的文件通过火狐浏览器访问时打不开,最后询问老师后,知道是由于在var/ftp文件夹中创建的文件权限问题,将该文件的权限改为ftp后就可以了。6. 实验总结作为一个完全免费的、开发源代码的ftp服务器软件,vsftpd有很多其他的FTP服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPV6、速率高等特点。这些在实验中都有所体现。在做这次实验的过程中也遇到了很多问题,但是经过上网查找资料、询问老师,最终都解决了问题,在这个过程中我也学到了不少知识。这次实验使我更加深刻的理解了FTP服务器的工作原理。任课教师批阅意见:成绩评定: 备注:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1