zoukankan      html  css  js  c++  java
  • CentOS 6.5 下搭建vsftp服务

    参考网站:

    http://blog.163.com/sunshine_linting/blog/static/44893323201391010522601/

    http://blog.sina.com.cn/s/blog_715b47c50101k1bx.html

    1         安装软件

    1.1         软件安装包的获取

    ftp://vsftpd.beasts.org/users/cevans/untar/下载所需的安装包,并将其通过Xshell放置到Linux系统上

    1.2         解压软件

    [root@xldwhj vsftp]# tar vsftpd-2.1.0.tar.gz     

    [root@xldwhj vsftp]# cd vsftpd-2.1.0

    1.3         vsftpd提前准备工作

    [root@xldwhj vsftp]# useradd nobody

    这里需要加一个nobody用户。如果提示useradd: user 'nobody' already exists则说明已存在,不需要添加该用户。

    [root@xldwhj vsftp]# mkdir /usr/share/empty/

    同上一步,可使用ls /usr/share/empty查看是否存在该目录,存在可跳过该步

    如果需要开启匿名用户访问,需要做下面几步工作 
    [root@xldwhj vsftp]# mkdir /var/ftp/

    创建供匿名用户使用的目录 
    [root@xldwhj vsftp]# useradd -d /var/ftp ftp

    创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建后提示:useradd: user 'ftp' already exists就表示此用户已经存在。

    1.4         源代码编译以及安装

    [root@xldwhj vsftpd-2.1.0]# make

    编译可能出现下述问题

    sysdeputil.o: In function `vsf_sysdep_check_auth':
    sysdeputil.c:(.text+0x109): undefined reference to `crypt'
    sysdeputil.c:(.text+0x13a): undefined reference to `crypt'
    collect2: ld 返回 1
    make: *** [vsftpd] 错误 1

    解决方法:

    [root@xldwhj vsftpd-2.1.0]#vim Makefile

    在LIBS    =    `./vsf_findlibs.sh`

    末尾增加-lcrypt变成

    LIBS    =    `./vsf_findlibs.sh` -lcrypt

    [root@xldwhj vsftpd-2.1.0]# make install

    if [ -x /usr/local/sbin ]; then

                  install -m 755 vsftpd /usr/local/sbin/vsftpd;

           else

                  install -m 755 vsftpd /usr/sbin/vsftpd; fi

    if [ -x /usr/local/man ]; then

                  install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8;

                  install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5;

           elif [ -x /usr/share/man ]; then

                  install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8;

                  install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5;

           else

                  install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8;

                  install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi

    if [ -x /etc/xinetd.d ]; then

                  install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

    1.5         编辑配置

    [root@xldwhj vsftpd-2.1.0]# cp vsftpd.conf /etc/     

    将默认配置文件考贝到/etc/
    [root@xldwhj vsftpd-2.1.0]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd  

    为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。

    2         配置vsftpd服务

    2.1         服务的启动与停止

    启动服务之前,我们先编辑配置文件/etc/vsftpd.conf. 打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。vsftpd.conf文件的所有项目都是以“参数=值 ”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。每个参数都有一个默认值,没有在配置文件中明确指定 的参数就会使用默认值。我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入到文件中:
    listen=yes                          //vsftpd工作在standalone 模式下
    anonymous_enable=yes             //允许匿名用户登陆服务器
    local_enable=yes                   //允许本地用户登录到服务器
    pam_service_name=vsftpd          //使用PAM认证

    vsftpd有两种工作模式,standalone模式和xinetd守护进程模式,第1行就是让其工作在standalone模式下。此种模式中,每次 修改配置文件必须重新启动vsftpd服务才能生效,关于两种模式在后面有详细介绍。我们安装时还把 Redhat 目录下的 vsftpd.pam 文件复制成了/etc/pam.d/vsftpd 文件。这个文件就是本地用户登陆的 pam 验证配置文件。关于这个文件我们会在后面具体介绍。这里我们要知道,必须得有这个配置文件,而且主配置文件里要加上 pam_service_name=vsftpd语句,我们才能让本地用户登陆。用以下命令启动服务:

    [root@xldwhj vsftpd-2.1.0]# /usr/local/sbin/vsftpd &          //后台启动vsftp

    [root@xldwhj vsftpd-2.1.0]# ps                           //查看vsftpd是否启动

       PID TTY          TIME CMD

      1674 pts/0    00:00:00 bash

      2247 pts/0    00:00:00 vsftpd                         //已启动

     24230 pts/0    00:00:00 ps

    2.2         登录服务器

    [root@xldwhj vsftpd-2.1.0]# ftp 127.0.0.1

    如果出现下属述错误

    则说明没有安装ftp客户端

    [root@xldwhj vsftpd-2.1.0]

    rpm -Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm

    安装完客户端之后在尝试上述命令

    [root@xldwhj vsftpd-2.1.0]# ftp 127.0.0.1

    Connected to 127.0.0.1 (127.0.0.1).

    220 (vsFTPd 2.1.0)

    Name (127.0.0.1:root): root

    331 Please specify the password.

    Password:

    530 Login incorrect.

    Login failed.

    ftp>

    至此vsftp已经搭建完成

  • 相关阅读:
    windows2003 如何配置ASP网站
    如何在asp.net中获取GridView隐藏列的值?
    GridView.RowCommand 事件中获取当前行的信息
    模块导入导出
    API / DOM
    HTTP(搁置)
    npm
    链接(跳转)<routerlink> 和 路由实例Router
    elementui
    vuex
  • 原文地址:https://www.cnblogs.com/whutxldwhj/p/5973729.html
Copyright © 2011-2022 走看看