更安全的ftp服务器Pure-FTP搭建(4)

实验简介
实验所属系列: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 :

具体实验步骤:

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jack-yyj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值