实验简介
实验所属系列:Linux服务器搭建
实验对象: 本科/专科信息安全专业
相关课程及专业:计算机基础,计算机网络
实验时数(学分):2学时
实验类别:实践类
预备知识
本实验要求实验者具备如下的相关知识
也许您对FTP不陌生,但是您是否了解FTP到底是个什么玩意? FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。FTP用的比NFS更多,所以请您一定要熟练配置它。
其实在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftp, 但我们今天介绍的并不是它,如果您有兴趣可以自行查阅资料,本次实验我们使用pure-ftpd搭建ftp服务器,因为这个软件比vsftp配置起来更加灵活和安全。
pure-ftpd 官网是 http://www.pureftpd.org/project/pure-ftpd
下载:
wget http://download.pureftpd.org/pure-ftpd/releases/obsolete/pure-ftpd-1.0.32.tar.bz2
客户端测试使用lftp
实验目的
1、安装pure-ftp;
2、配置pure-ftp;
3、测试pure-ftp。
实验环境
CentOS6.5 试验台
网络拓扑见下。图:
NS1: centos6.x IP:10.1.1.125
Client:centos6.x IP:10.1.1.124
查看本机的IP请使用:ifconfig 命令
实验步骤一
安装 Pure-ftp
之前我们都是说 用 yum 安装,这次我们使用源代码编译安装。编译安装所需要的软件:
软件的准备:
cmake :用来编译的 ;
gcc编译器;
gcc-gcc++编译器;
bison:一个通用的解析器;
可以用yum安装完成:yum install -y cmake gcc gcc-gcc++ bison
首先我们切换到 /opt目录 ,然后解压pure-ftp压缩包,然后进入 pure-ftp目录。
然后进行编译安装:
0x1 :
./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tls
./configure 是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系。一步一般用来生成 Makefile,为下一步的编译做准备。你可以通过在 configure 后加上参数来对安装进行控制。我们可以用 ./configure -help 查看可以添加哪些参数。
0x2 make :编译
make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。
0x3 make install,这条命令来进行安装。
通常我们可以将 make 和make install 一起输入。像这样:
小提示:每执行一条命令,我们可以用 echo $? 来检测是否正确执行,而没有错误。
此命令的作用是显示上一条命令的返回结果。0代表命令执行成功。1-255都表示不成功。
实验步骤二
配置pure-ftp
pure-ftpd 编译安装很快就完成了,而且极少有出现错误的时候,下面就该配置它了:
在启动pure-ftpd之前需要先修改配置文件,配置文件为/usr/local/pureftpd/etc/pure-ftpd.conf。
0x1 我们需要手工建立配置文件目录,和将配置文件复制到配置文件目录,并修改权限
0x2 修改配置文件:/usr/local/pureftpd/etc/pure-ftpd.conf
我们要修改的很好,修改puredb的存储路径就行了,大概在126行,去掉前面的 # 注释,路径改成 /usr/local/pureftpd/etc/pureftpd.pdb
保存并退出。
0x3 建立pure-ftp账号
/usr/local/pureftpd/bin/pure-pw useradd ftp_test01 -u www -d /data/www/
其中,-u将虚拟用户ftp_test01与系统用户www关联在一起,也就是说使用ftp_test01账号登陆ftp后,会以www的身份来读取文件或下载文件。-d 后边的目录为ftp_user1账户的家目录,这样可以使ftp_test01只能访问其家目录/data/www/。password 是要你设置ftp_test01的密码。
到这里还未完成,还有最关键的一步,就是创建用户信息数据库文件:
/usr/local/pureftpd/bin/pure-pw mkdb
pure-pw还可以列出当前的ftp账号,当然也可以删除某个账号, 我们再创建一个账号:
列出账号:
删除账号:
0x4 启动 pure-ftp :
/usr/local/pureftpd/etc/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
如果是启动成功,会显示一行长长的以Running开头的信息,否则那就是错误信息。
实验步骤三
测试pure-ftp
0x1 :我们在客户端用lftp进行测试。在linux系统中,lftp是个功能强大的文件传输工具,支持命令补全、历史记录、多任务后台执行,还有书签、排队、镜像、断点续传、多进程下载等功能。
我们可以现在服务器上创建一个文档。
在本机上测试:
在客户端测试:
我们可以敲 help ,看看有哪些能用的命令哦~:
具体的命令帮助我们可以用 help command 来看。比如 put命令
0x2 lftp常用命令:
显示工作目录:lpwd,pwd ;分别是显示本地工作目录,和远程ftp工作目录。
切换目录:lcd,cd;分别是切换本地工作目录,和远程目录。
切换远程目录,我们可以先创建一个,再试试。当然你得有权限创建。权限限制可以通过修改配置文件实现
下载命令:get ,mget,pget;分别对应的是下载单个文件,多个文件,和多线程下载。
当我get 了一个文件,默认情况下会下载到当前目录(即你执行lftp 命令的那个目录,不是远程上的目录哦)。
显示本地工作目录的文件列表:!ls
其中, ! 表示执行本地命令,lftp中没有与 ls 对应的本地命令 lls, 所以要使用 !ls 显示本地目录文件。
上传命令:put,mput;分别是上传单个文件,和多个文件
更多命令用法,自行查阅资料。(manpage不要忘了哦~)
退出使用 exit :
具体实验步骤:
文章来源:https://www.toymoban.com/news/detail-573951.html
文章来源地址https://www.toymoban.com/news/detail-573951.html
到了这里,关于更安全的ftp服务器Pure-FTP搭建(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!