CentOS 6.2 安装vsftpd-2.3.2

 vsftpd目前最新版本为vsftpd-2.3.2,下载地址:

ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.2.tar.gz 
软件安装
  1. 解压软件,
    [root@redhat local]# tar -zxvf vsftpd-2.3.2.tar.gz    //解压vsftp source文件
    [root@redhat local]# cd vsftpd-2.3.2    //进入解压后的目录
 
    [root@redhat vsftpd-2.3.2]# more INSTALL //看看安装说明。比如要做什么工作。是个英文文档.
 
 
 
  2. 提供安装vsftpd服务的前提条件(根据上面more INSTALL的安装说明)
 
    [root@redhat vsftpd-2.3.2]# useradd nobody //这里需要加一个nobody用户。大家可以使用finger nobody查看下。看是否有这个用户,如果有就不需要加了.
 
        useradd: user nobody exists
 
    [root@redhat vsftpd-2.3.2]# mkdir /usr/share/empty/    //这一步同上。服务器 需要一个empty的空目录放在/usr/share/下。可以使用ls /usr/share/empty查看。如果存在就不需要了,这步也可以跳过。
 
        mkdir: 无法创建目录 `/usr/share/empty': 文件已存在
 
   
    
 
  3. 编译源代码及安装
 
    [root@redhat vsftpd-2.3.2]# make    //编译二进制文件
    [root@redhat vsftpd-2.3.2]# make install    //安装,安装的时候可以看到安装的相关文件。
 
  4. 安装、编辑配置
 
    [root@redhat vsftpd-2.3.2]# cp vsftpd.conf /etc/    //将默认配置文件考贝到/etc/                
    [root@redhat vsftpd-2.3.2]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd     //为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。
 
    [root@redhat vsftpd-2.3.2]# vi /etc/vsftpd.conf 
  然后按,跳到行尾。设置 pam_server_name=vsftpd(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出
 
    [root@redhat vsftpd-2.3.2]# cp vsftpd.conf.5 /usr/local/man/man5 
  [root@redhat vsftpd-2.3.2]# cp vsftpd.8 /usr/local/man/man8 
 
  基本到这里。所有工作就做完了。
 
 
    
软件卸载
    如果需要卸载,使用如下命令:
    # rm /usr/local/sbin/vsftpd
    # rm /usr/local/man/man5/vsftpd.conf.5
    # rm /usr/local/man/man8/vsftpd.8
    # rm /etc/xinetd.d/vsftpd
    # rm -rf /etc/vsftpd
三、配置vsftpd服务
服务的启动与停止
    启动服务之前,我们先编辑配置文件/etc/vsftpd.conf. 打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。vsftpd.conf文件的所有项目都是以“参数=值 ”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。每个参数都有一个默认值,没有在配置文件中明确指定 的参数就会使用默认值。我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入 到文件中:
 
 
[root@xm06 data]# /usr/local/sbin/vsftpd &
standalone启动方式
[root@xm06 data]# ps -aux|grep vsftpd
[root@xm06 data]#kill -9 ID号
 
vsftpd.conf里面
local_enable=YES
listen=YES
pasv_enable=YES
pasv_max_port=9090
pasv_min_port=9000
ftpd_banner=220 wellpie FTP Server
write_enable=YES
local_umask=022
chroot_list_enable=YES
chroot_local_user=NO
chroot_list_file=/etc/vsftpd.chroot_list(这个文件里面有一个用户xm06.com,用来限制跳到其他目录)
xm06.com这个是本地用户,即是FTP用户,不然会看到别人的文件,跳到其他目录。用来限制在自己的家目录
 
root@localhost www]# adduser -s /sbin/nologin -d /data/www/phpmy phpmy
adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@localhost www]# chown phpmy:phpmy /data/www/phpmy/
[root@localhost www]# passwd phpmy
Changing password for user phpmy.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
 
以上是创建PHPMY这个FTP用户与密码,然后/data/www/phpmy这个目录要755
并用户与组分别是phpmy与apache,这样上传下载删除正常,访问要写的可能要777才行
 
    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@redhat vsftpd-2.3.2]# /usr/local/sbin/vsftpd &    //后台启动vsftp
 
 
 
我们可以通过pgrep vsftpd 来查看vsftpd服务器是否运行起来;
 
    [root@redhat vsftpd-2.3.2]# pgrep vsftpd
     4248
上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;
 
    为保证服务确实启动,我们用如下命令检测:
    [root@redhat vsftpd-2.3.2]# netstat -an |grep 21
    tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
    我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。再登录服务器:
    [root@redhat 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服务:
    [root@redhat vsftpd-2.3.2]# killall vsftpd    //或是 pkill vsftpd
 
    [root@redhat vsftpd-2.3.2]# pgrep vsftpd   //查看vsftpd服务器是否已经关闭
 
 
 
四、 开机自启动
            用vi打开etc/rc.local在里面加入/usr/local/bin/vsftpd & 即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章