• RedHat6.2搭建FTP服务器


    我的环境

    A:Red Hat Enterprise 6.2 IP192.168.16.12 此机作测试端

    B:Red Hat Enterprise 6.2 IP192.168.16.13 此机做FTP服务端

     

    B机上搭建FTP服务器:

    下载并安装vsftpd-2.2.2-6.el6_0.1.i686

    [root@redhat6-3 ~]# rpm -ivh vsftpd-2.2.2-6.el6_0.1.i686.rpm

    创建测试用户:

    [root@redhat6-3 ~]# useradd tuantuan -d /var/ftp/ttftp -s /sbin/nologin

    [root@redhat6-3 ~]# useradd tuantuan -s /sbin/nologin

    [root@redhat6-3 ~]# passwd tuantuan

    New password: 

    Retype new password: 

    passwd: all authentication tokens updated successfully.

     

    查看一下新创建的用户配置

    [root@redhat6-3 ~]# tail -1 /etc/passwd

    tuantuan:x:504:504::/var/ftp/ttftp:/sbin/nologin

     

    修改配置文件:

    首先来看vsftp的配置文件,常使用的配置如下:

    [root@redhat6-3 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf 

    anonymous_enable=YES     //是否启动匿名用户登入

    local_enable=YES      //是否允许本地用户登入

    write_enable=YES      //是否允许用户写入

    local_umask=022      //用户目录下创建文件默认权限,此处默认权限是777-022=755

    dirmessage_enable=YES

    xferlog_enable=YES     //是否使用日志

    connect_from_port_20=YES

    xferlog_std_format=YES

    listen=YES     //是否使用监听,若不使用将使用超级守护进程

    pam_service_name=vsftpd

    userlist_enable=YES

    tcp_wrappers=YES     //是否启用用/etc/hosts.allow或/etc/hosts.deny文件生效

    以上是默认的ftp参数,我们还需添加以下参数来完成配置:

    chroot_local_user=YES     //是否禁止本地用户离开自己的主目录

    xferlog_file=/var/log/vsftpd.log      //设置ftp的日志路径

    idle_session_timeout=600      //设置回话等待时间

    data_connection_timeout=120     //设置数据等待时间

    ftpd_banner=Welcome to connect my FTP!     //设置成功登入提示

     

    完成配置后重启一下ftp,查看进程并在A机上登入测试:

    [root@redhat6-3 ~]# netstat -antp|grep 21

    tcp        0      0 0.0.0.0:111     0.0.0.0:*        LISTEN  1221/rpcbind        

    tcp        0      0 0.0.0.0:21      0.0.0.0:*        LISTEN  1926/vsftpd         

    tcp        0      0 :::111             :::*                 LISTEN  1221/rpcbind        

    客户端需安装ftp-0.17-51.1.el6.i686来支持ftp命令

    A上:

    [root@redhat6-2 Packages]# rpm -ivh ftp-0.17-51.1.el6.i686.rpm

    [root@redhat6-2 Packages]# ftp 192.168.16.13

    Connected to 192.168.16.13 (192.168.16.13).

    220 Welcome to connect my FTP!

    Name (192.168.16.13:root): tuantuan

    331 Please specify the password.

    Password:

    230 Login successful.

    Remote system type is UNIX.

    Using binary mode to transfer files.

    help命令查看ftp的命令

    ftp>help

    Commands may be abbreviated.  Commands are:

    !                   debug               mdir            sendport        site

    $                   dir                   mget            put             size

    account         disconnect       mkdir           pwd             status

    append          exit                mls             quit            struct

    ascii               form            mode            quote           system

    bell                get             modtime         recv            sunique

    binary            glob             mput            reget           tenex

    bye               hash            newer           rstatus         tick

    case             help             nmap            rhelp           trace

    cd                idle              nlist           rename          type

    cdup            image           ntrans          reset           user

    chmod           lcd             open            restart         umask

    close            ls              prompt          rmdir           verbose

    cr                macdef          passive         runique         ?

    delete          mdelete         proxy           send

    创建一个目录,并想改目录内传送一个文件:

    ftp> cd test

    250 Directory successfully changed.

    ftp> !ls

    anaconda-ks.cfg     LAMP         mysql-5.5.25.tar.gz

    install.log         mysql-5.1.66-linux-i686-glibc23.tar.gz

    ftp> put mysql-5.5.25.tar.gz

    local: mysql-5.5.25.tar.gz remote: mysql-5.5.25.tar.gz

    227 Entering Passive Mode (192,168,16,13,216,59).

    150 Ok to send data.

    226 Transfer complete.

    24639871 bytes sent in 1.1 secs (22359.01 Kbytes/sec)

    切换到服务端查看该目录下的文件:

    [root@redhat6-3 ~]# cd /var/ftp/ttftp/test/

    [root@redhat6-3 test]# ls

    mysql-5.5.25.tar.gz

    也可以在windows下登入该ftp,更加方便:

    打开我的电脑输入ftp://tuantuan@192.168.16.13

     

    配置超级守护进程启动vsftp

    需要装xinetd服务管理工具:

    [root@redhat6-3 ~]# rpm -ivh xinetd-2.3.14-33.el6.i686.rpm

    [root@redhat6-3 ~]# cp -rf /usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd  /etc/xinetd.d/vsftpd

    [root@redhat6-3 ~]# vi /etc/xinetd.d/vsftpd

    # default: off

    # description: The vsftpd FTP server serves FTP connections. It uses 

    #       normal, unencrypted usernames and passwords for authentication.

    service ftp

    {

            socket_type             = stream

            wait                    = no

            user                    = root

            server                  = /usr/sbin/vsftpd

            server_args             = /etc/vsftpd/vsftpd.conf

            nice                    = 10

            disable                 = no   //yes改为no即可

            flags                   = IPv4

    }

    修改配置文件

    #listen=YES

    listen注释掉即可

    建议write_enable=YES改为NO

     

    vsftpd的服务停掉:

    [root@redhat6-3 xinetd.d]# service vsftpd stop

    Shutting down vsftpd:                                      [  OK  ]

    重启xinted服务:

    [root@redhat6-3 etc]# service xinetd restart

    Stopping xinetd:                                           [  OK  ]

    Starting xinetd:                                          [  OK  ]

    查看端口是否存在:

    [root@redhat6-3 etc]# netstat -antp | grep 21

    tcp        0      0 0.0.0.0:111       0.0.0.0:*       LISTEN      1221/rpcbind        

    tcp        0      0 0.0.0.0:21        0.0.0.0:*        LISTEN     4369/xinetd         

    tcp        0      0 :::111            :::*           LISTEN      1221/rpcbind    

    因为启用超级进程来管理vsftp,所以这时候启动vsftpd会报如下错误:

    [root@redhat6-3 etc]# service vsftpd start

    Starting vsftpd for vsftpd: 500 OOPS: vsftpd: not configured for standalone, must be started from inetd

    若不想启用超级进程管理,将配置文件中的listen=YES注释取消即可

     

    测试端登入测试:

    [root@redhat6-2 ~]# ftp 192.168.16.13

    Connected to 192.168.16.13 (192.168.16.13).

    220 Welcome to connect my FTP!

    Name (192.168.16.13:root): tuantuan

    331 Please specify the password.

    Password:

    230 Login successful.

    Remote system type is UNIX.

    Using binary mode to transfer files.

    ftp> bye

    221 Goodbye.

    windows登入测试:

    同上次方法一样打开我的电脑或cmd(调用浏览器)输入:tp://tuantuan@192.168.16.13/

     

     

    输入用户名和密码后登入进行操作即可

     

     

    简单的ftp服务器配置完成!

  • 相关阅读:
    The C++ Source A Pause to Reflect: Five Lists of Five, Part I The Most Important C++ Books...Ever
    Cg 1.5 Released
    Half Life 2 Source 引擎介绍
    一大清早去飙车
    [旧闻一]NVIDIA招揽前Intel顶级CPU设计师
    [旧闻二]AMD收购ATI
    【翻译】[Effective C++第三版•中文版][第17条]要在单独的语句中使用智能指针来存储由new创建的对象
    Generic:简化异常安全代码
    第29条: 力求使代码做到“异常安全”
    Linux压缩打包命令使用方法
  • 原文地址:https://www.cnblogs.com/ariclee/p/4725662.html
Copyright © 2020-2023  润新知