vsftp安装和配置

2013-10-10 10:49:48|  分类: Linux|举报|字号 订阅

源码下载地址:ftp://vsftpd.beasts.org/users/cevans/untar/

1. 解压软件

[[email protected] local]# tar -zxvf
vsftpd-2.3.2.tar.gz    //解压vsftp source文件
   
[[email protected] local]# cd vsftpd-2.3.2    //进入解压后的目录

[[email protected] vsftpd-2.3.2]# more INSTALL
//看看安装说明。比如要做什么工作。是个英文文档.

2. 提供安装vsftpd服务的前提条件(根据上面more INSTALL的安装说明)

[[email protected] vsftpd-2.3.2]# useradd nobody
//这里需要加一个nobody用户。大家可以使用finger nobody查看下。看是否有这个用户,如果有就不需要加了.

useradd: user nobody exists

[[email protected] vsftpd-2.3.2]# mkdir /usr/share/empty/
   //这一步同上。服务器 需要一个empty的空目录放在/usr/share/下。可以使用ls
/usr/share/empty查看。如果存在就不需要了,这步也可以跳过。

mkdir: 无法创建目录 `/usr/share/empty‘:
文件已存在

如果需要开启匿名用户访问,需要做下面几步工作 
   
[[email protected] vsftpd-2.3.2]# mkdir /var/ftp/   
//创建供匿名用户使用的目录 
  [[email protected] vsftpd-2.3.2]# useradd -d /var/ftp
ftp //创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:user ftp
exists(FTP用户存在)就表示此用户已经存在。

3. 编译源代码及安装

[[email protected] vsftpd-2.3.2]# make   
//编译二进制文件

问题1.

在执行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

解决方法:

打开Makefile

vim Makefile

LIBS    =       `./vsf_findlibs.sh`

末尾增加 -lcrypt 变成

LIBS    =       `./vsf_findlibs.sh` -lcrypt

问题2

install: cannot create regular file
`/usr/local/man/man8/vsftpd.8‘: No such file or directory

install: cannot create regular file
`/usr/local/man/man5/vsftpd.conf.5‘: No such file or directory

make: *** [install] Error
1

解决方法:

[email protected]:/home/linting/work/tools/vsftpd-3.0.2#
mkdir /usr/local/man/man5

[email protected]:/home/linting/work/tools/vsftpd-3.0.2#
mkdir /usr/local/man/man8

[email protected]:/home/linting/work/tools/vsftpd-3.0.2# 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

4. 安装、编辑配置

[[email protected] vsftpd-2.3.2]# cp vsftpd.conf /etc/ 
  //将默认配置文件考贝到/etc/            
   
    [[email protected] vsftpd-2.3.2]# cp
RedHat/vsftpd.pam /etc/pam.d/vsftpd    
//为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。

[[email protected] vsftpd-2.3.2]# vi
/etc/vsftpd.conf 
  然后按,跳到行尾。设置
pam_server_name=vsftpd(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出

[[email protected] vsftpd-2.3.2]# cp vsftpd.conf.5
/usr/local/man/man5 
  [[email protected] vsftpd-2.3.2]# cp vsftpd.8
/usr/local/man/man8 

  基本到这里。所有工作就做完了。

配置vsftpd服务


服务的启动与停止
   
启动服务之前,我们先编辑配置文件/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语句,我们才能让本地用户登陆。用以下命令启动服务:
    [[email protected]
vsftpd-2.3.2]# /usr/local/sbin/vsftpd &   
//后台启动vsftp

问题3:

500 OOPS: bad bool value in config file for: anonymous_enable

看似配置文件错误,看了一下配置相应的行: anonymous_enable=NO
语句没什么错误,不过把这行注释后又到下一行报错,看来是整个文件都有问题,百度了一下,大部分都是说语句后面不能有多余的空格,但是用VI看来不了行末是否有多余的字符,干脆把配置文件下载下来,发现这个文件是一般PC(WINDOWS,CRLF)的格式的,所文件改为UNIX(LF)格式再上传,VSFTP就可以启动了

以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:

$ sed -e ‘s/.$//‘ mydos.txt > myunix.txt

怎么查看一个既有文件的格式:

unix上: file filename

为保证服务确实启动,我们用如下命令检测:
    [[email protected]
vsftpd-2.3.2]# netstat -an
|grep 22

    tcp    
   0      0 0.0.0.0:21    
             0.0.0.0:* 
                
LISTEN
    我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。

再登录服务器:
    [[email protected] vsftpd-2.3.2]# ftp 127.0.0.1
 
  Connected to 127.0.0.1.
    220 (vsFTPd 2.0.5)
 
  530 Please login with USER and PASS.
    530 Please login
with USER and PASS.
    KERBEROS_V4 rejected as an authentication
type
    Name (127.0.0.1:root): ftp
    331 Please
specify the password.
    Password:
    230 Login
successful.
   
这时我们已经用匿名用户(用户名ftp或anonymous,密码任意)登录到服务器了,还可以用本地用户登录。我们做测试时建议使用如上所示的ftp命
令(windows、Linux及Unix都带这个命令,用法都是一样的)来登录服务器,这样可以看到更详细的信息,对于我们调试服务器是非常有帮助的。
最简单的ftp服务器就已经达建起来了。

使用如下命令关闭ftp服务:
    [[email protected] vsftpd-2.3.2]# killall
vsftpd    //或是 pkill vsftpd

[[email protected] vsftpd-2.3.2]# pgrep vsftpd  
//查看vsftpd服务器是否已经关闭

 开机自启动
           
用vi打开etc/rc.local在里面加入/usr/local/bin/vsftpd & 即可。

service vsftpd restart 重启vsftpd服务

时间: 2024-10-10 05:25:27

vsftp安装和配置的相关文章

Cent OS 6.5 vsftp 安装和配置

Vsftpd 简称:Very secure ftp 是一个比较安全的ftp server,具有许多功能和特点. 功能和特点: 1.它是一个安全.高速且稳定的服务器. 2.可以设置多个基于IP地址的虚拟FTP主机. 3.设定匿名FTP服务非常简单. 4.不用执行任何外部程序,从而减少安全隐患. 5.支持虚拟用户. 6.支持带宽限制. Vsftpd 安装和配置 安装环境:Cent OS 6.5 server 禁用 SElinux. 安装: #yum install -y vsftpd       V

CentOS中vsftp安装与配置

1. 安装使用chkconfig --list来查看是否装有vsftpd服务:使用yum命令直接安装:yum -y install vsftpd然后为它创建日志文件:touch /var/log/vsftpd.log 2.建立ftp用户及主目录:    # mkdir /var/ftp    # useradd -d /var/ftp ftp 3. 配置vsftp服务编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务:#vi /etc/vsftpd/vsftpd.conf

Vsftp安装及配置虚拟用户

Vsftp安装及配置虚拟用户 一.安装 采用yum安装 [[email protected]_64_122_centos vsftpd]# yum installvsftpd 安装完成以后vsftpd的默认配置文件在/etc/vsftpd 二.建立虚拟用户的过程 1,创建虚拟用户文本文件,添加虚拟用户和密码 [[email protected]_64_122_centos vsftpd]# vivuser.txt 奇数行是用户名,偶数是密码. 比如: admin [email protected

vsftp安装、配置和启动

vsftp软件安装.配置和启动及相关问题的解决在环境使用过程中经常用到.本文以SuSE11sp1上vsftpd的安装过程进行介绍. 测试环境 SuSE11sp1 前提条件 1.rpm -qa | grep vsftp,查看环境是否已安装,如已安装,可跳过vsftp安装包获取和安装步骤 2.rpm -e vsftpd.rpm,卸载已安装的vsftp软件 vsftpd安装包获取 1.获取操作系统版本号,注意补丁版本号 #cat /etc/SuSE-release SUSE LINUX Enterpr

阿里云CentOS中vsftp安装、配置、卸载

1--卸载 查看当前服务器中的vsftpdrpm -qa|grep vsftpd 例如结果为:vsftpd-2.2.2-13.el6_6.1.x86_64执行卸载rpm -e vsftpd-2.2.2-13.el6_6.1.x86_64返回:卸载时自动备份vsftp的用户列表文件warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsavewarning: /etc/vsftpd/user_list saved

Linux CentOS 下vsftp安装及配置相关操作

1.安装ftps——vsftpd: #yum install vsftpd 2.指定上传下载目录配置: 如:用户名:xxx,需指定目录:/xxx/xxx #useradd -d/xxx/xxx -s /sbin/nologin xxx #vi /etc/vsftpd/vsftp.conf chroot_local_user=YES       #将所有本地用户限制在自家目录中,NO则不限制.下面的指令是指出在所有本地用户中例外于本 指令规定的用户. chroot_list_enable=YES 

【转】CentOS中vsftp安装、配置、卸载

1. 安装VSFTP 1 yum -y install vsftpd 2. 配置vsftpd.conf文件 1 # Example config file /etc/vsftpd/vsftpd.conf 2 # 3 # The default compiled in settings are fairly paranoid. This sample file 4 # loosens things up a bit, to make the ftp daemon more usable. 5 #

CentOS中vsftp安装、配置、卸载

1. 安装VSFTP 1 [[email protected] ~]# yum -y install vsftpd 2. 配置vsftpd.conf文件 [[email protected] ~]# vi /etc/vsftpd/vsftpd.conf 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031

CentOS7 vsftp 安装与配置(视频教程)

(双击全屏播放) 1.安装vsftpd yum install -y vsftpd 2.编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO  #关闭匿名登录     chroot_local_user=YES  #用于指定用户列表文件中的用户是否允许切换到上级目录.默认值为NO. #通过搭配能实现以下几种效果:  #①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd