阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS中vsftpd源代码安装与测试

112次阅读
没有评论

共计 4319 个字符,预计需要花费 11 分钟才能阅读完成。

环境:CentOS 6.4 x86_64

所需应用程序:vsftpd-3.0.2.tar.gz

在我的另一篇文章中详细介绍过 httpd 源代码安装。(地址:http://www.linuxidc.com/Linux/2013-12/94146.htm)那么在这里我要介绍一下 vsftpd 源代码安装,比较一下和 httpd 源代码安装有什么不同的地方。关于源代码安装的步骤我在这里就不在详细介绍了。

源代码安装软件系统中当然少不了编译环境,在这里就不再介绍编译环境的搭建,我在前面关于 httpd 安装的博文中有过详细介绍,如有不懂可以先看那篇博文。下面开始介绍 vsftpd 的安装与测试。

首先解压缩 vsftpd-3.0.2.tar.gz,使用命令 tar –zxvf vsftpd-3.0.2.tar.gz –C /usr/local/src 切换到 /usr/local/src 目录中就可以看到刚刚解压的所形成的目录

CentOS 中 vsftpd 源代码安装与测试

切换到该目录下,比较一下和前面 httpd 有什么不同

CentOS 中 vsftpd 源代码安装与测试

发现这里面并没有 configure 文件,那么怎么办呢?没关系,在 INSTALL 这个文件中已经详细的告诉我们该怎么做。那么我们就按照上面的步骤来走吧。

首先编辑 builddefs.h 这个文件

CentOS 中 vsftpd 源代码安装与测试

在这里我需要使用 tcpwrappers, 我们就修改 tcpwrapper 那一行为:define VSF_BUILD_TCPWRAPPERS 保存退出

接下来就执行 make;可是当我们 make 的时候发现出现错误,如图所示

CentOS 中 vsftpd 源代码安装与测试

发现关于 tcpwrap 的错误,通过查询我们的系统中安装了一个 tcpwrap 的库,查询光盘时发现还有其他关于 tcpwrap 相关的软件

CentOS 中 vsftpd 源代码安装与测试

那我们就来安装一下 tcp_wrappers 和 tcp_wrapper-devel

安装后继续执行 make,执行前先使用 make clean all 清除前面 make 过的,然后 make

但又有错误了

CentOS 中 vsftpd 源代码安装与测试

那就再安装 libcap 了,安装之后,再执行上面的步骤,这时候就可以 make 通过了,然后查看一下当前目录中有没有形成一个 vsftpd 的文件

CentOS 中 vsftpd 源代码安装与测试

推荐阅读

玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm

vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm

Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm

Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm

Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm

vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm

接下来需要为 vsftpd 创建一个 nobody 的帐号,首先查看一下有没有这个帐号,

CentOS 中 vsftpd 源代码安装与测试

发现已经存在,那么就不需要再创建了,继续下一步,vsftpd 需要一个空目录,在 /usr/shaer/empty 下,创建时会提示有一个这样的目录,那就继续下一步,因为 ftp 需要匿名登录,并且有自己的家目录,我们需要创建这样一个目录,再建立一个 ftp 的帐号

CentOS 中 vsftpd 源代码安装与测试

修改 /var/ftp 的所有者和所属组为 root 并且修改 other 用户和组用户权限为不可写

CentOS 中 vsftpd 源代码安装与测试

接下来执行 make install

CentOS 中 vsftpd 源代码安装与测试

然后创建 /usr/local/man/man5 /usr/local/man/man8

CentOS 中 vsftpd 源代码安装与测试

分别拷贝 vsftpd.conf.5 到 /usr/local/man/man5 vsftpd.8 到 /usr/local/man/man8

CentOS 中 vsftpd 源代码安装与测试

同时还需要把 vsftpd.conf 拷贝到 /etc 目录下

CentOS 中 vsftpd 源代码安装与测试

实际上到了这里我们的 ftp 已经安装完成了,然后我们运行一下:

/usr/local/sbin/vsftpd & 这里面的 & 符号表示后台运行

CentOS 中 vsftpd 源代码安装与测试

通过上图可以看到 ftp 已经运行了

环境:CentOS 6.4 x86_64

所需应用程序:vsftpd-3.0.2.tar.gz

在我的另一篇文章中详细介绍过 httpd 源代码安装。(地址:http://www.linuxidc.com/Linux/2013-12/94146.htm)那么在这里我要介绍一下 vsftpd 源代码安装,比较一下和 httpd 源代码安装有什么不同的地方。关于源代码安装的步骤我在这里就不在详细介绍了。

源代码安装软件系统中当然少不了编译环境,在这里就不再介绍编译环境的搭建,我在前面关于 httpd 安装的博文中有过详细介绍,如有不懂可以先看那篇博文。下面开始介绍 vsftpd 的安装与测试。

首先解压缩 vsftpd-3.0.2.tar.gz,使用命令 tar –zxvf vsftpd-3.0.2.tar.gz –C /usr/local/src 切换到 /usr/local/src 目录中就可以看到刚刚解压的所形成的目录

CentOS 中 vsftpd 源代码安装与测试

切换到该目录下,比较一下和前面 httpd 有什么不同

CentOS 中 vsftpd 源代码安装与测试

发现这里面并没有 configure 文件,那么怎么办呢?没关系,在 INSTALL 这个文件中已经详细的告诉我们该怎么做。那么我们就按照上面的步骤来走吧。

首先编辑 builddefs.h 这个文件

CentOS 中 vsftpd 源代码安装与测试

在这里我需要使用 tcpwrappers, 我们就修改 tcpwrapper 那一行为:define VSF_BUILD_TCPWRAPPERS 保存退出

接下来就执行 make;可是当我们 make 的时候发现出现错误,如图所示

CentOS 中 vsftpd 源代码安装与测试

发现关于 tcpwrap 的错误,通过查询我们的系统中安装了一个 tcpwrap 的库,查询光盘时发现还有其他关于 tcpwrap 相关的软件

CentOS 中 vsftpd 源代码安装与测试

那我们就来安装一下 tcp_wrappers 和 tcp_wrapper-devel

安装后继续执行 make,执行前先使用 make clean all 清除前面 make 过的,然后 make

但又有错误了

CentOS 中 vsftpd 源代码安装与测试

那就再安装 libcap 了,安装之后,再执行上面的步骤,这时候就可以 make 通过了,然后查看一下当前目录中有没有形成一个 vsftpd 的文件

CentOS 中 vsftpd 源代码安装与测试

推荐阅读

玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm

vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm

Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm

Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm

Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm

vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm

这时候我们就可以使用 ftp localhost 或者 lftp localhost 登录测试了,ftp 和 lftp 是不一样,用 ftp 登陆时必须输入用户名才能登录,而 lftp 则不需要

CentOS 中 vsftpd 源代码安装与测试

CentOS 中 vsftpd 源代码安装与测试

如果我们想要使用本地帐号登录必须要有 /etc/pam.d/ftp 这个文件,如果没有我们就要拷贝一个;我们可以直接把 RedHat/vsftpd.pam 拷贝成 /etc/pam.d/ftp

CentOS 中 vsftpd 源代码安装与测试

然后修改 /etc/vsftpd.conf 把 #local_enable=YES 前面的# 号去掉

CentOS 中 vsftpd 源代码安装与测试

重启一下 vsftpd 服务

然后使用本地帐号测试

CentOS 中 vsftpd 源代码安装与测试

登录成功。

接下就是该编写控制脚本了,代码如下:

#!/bin/bash
[-e /etc/init.d/functions] && ./etc/init.d/functions
prog=/usr/local/sbin/vsftpd
lockfile=/var/lock/subsys/vsftpd
start(){
      if [-e $lockfile];then
      echo “vsftpd server is started”
      else echo -n “vsftpd server is starting… “
      sleep 1
      $prog &
      if [$?];then
      echo  “[ok]”&& touch $lockfile
      else
      echo “[failer]”
      fi
      fi
}
stop(){
      if [! -e $lockfile];then
      echo “vsftpd server is stoped”
      else echo -n “vsftpd server is stoping… “
      sleep 1
      killproc vsftpd && echo “[ok]” && rm -rf$lockfile ||echo “[failer]”

      fi
}
status(){
      if [-e $lockfile];then
      echo “vsftpd server is started”
      else echo “vsftpd server no found”
      fi
}
case $1 in
start)
 start
  ;;
stop)
 stop
  ;;
restart)
 stop
 start
  ;;
status)
 status
  ;;
*)
echo”USAGE:start|stop|restart|status”
 ;;
Esac
好了,到这里我们的 vsftpd 已经安装和测试完成了

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计4319字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中