zoukankan      html  css  js  c++  java
  • ftp

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。
    FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
    在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd  

    CentOS 6.5 安装ftp

    使用pure-ftpd搭建FTP服务
    pure-ftpd 官网 http://www.pureftpd.org/project/pure-ftpd  
    wget http://download.pureftpd.org/pub ... ftpd-1.0.32.tar.bz2  

    http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.32.tar.bz2

    tar jxf pure-ftpd-1.0.32.tar.bz2 
    cd pure-ftpd-1.0.32  切换到解压目录
    ./configure   --prefix=/usr/local/pureftpd   --without-inetd   --with-altlog   --with-puredb   --with-throttling   --with-peruserlimits   --with-tls

    安装选项
    make && make install  编译与编译安装

    cd configuration-file 切换到源码路径目录中
    mkdir -p /usr/local/pureftpd/etc/  
    cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf 
    cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl 
    chmod 755 /usr/local/pureftpd/sbin/pure-config.pl 

    清空之前的pure-ftpd.conf配置文件加入如下:

    vim /usr/local/pureftpd/etc/pure-ftpd.conf  //内容如下:

    ChrootEveryone yes
    BrokenClientsCompatibility no
    MaxClientsNumber 50
    Daemonize yes
    MaxClientsPerIP 8
    VerboseLog no
    DisplayDotFiles yes
    AnonymousOnly no
    NoAnonymous no
    SyslogFacility ftp
    DontResolve yes
    MaxIdleTime 15
    PureDB /usr/local/pureftpd/etc/pureftpd.pdb
    LimitRecursion 3136 8
    AnonymousCanCreateDirs no
    MaxLoad 4
    AntiWarez yes
    Umask 133:022
    MinUID 100
    AllowUserFXP no
    AllowAnonymousFXP no
    ProhibitDotFilesWrite no
    ProhibitDotFilesRead no
    AutoRename no
    AnonymousCantUpload no
    PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid
    MaxDiskUsage 99
    CustomerProof yes

    ---------------------------------------------------------------------------------------------

    mkdir /data/ftp  #创建ftp服务的目录

    chmod  777 /data/ftp#所有人都可以写这个目录


    useradd yuananqin  #创建以哪个账号的身份登录ftp


    /usr/local/pureftpd/bin/pure-pw useradd test1  -uyuananqin  -d /data/ftp  #建立虚拟账号就是这个pure-ftpd软件的账户属于yuananqin这个用户,当你在客户端创建文件的时候,文件所属主跟组都属于yuananqin


    /usr/local/pureftpd/bin/pure-pw mkdb #创建密码文件 每次创建一个用户都用重新创建一个mkdb
    /usr/local/pureftpd/bin/pure-pw list #列出用户
    /usr/local/pureftpd/bin/pure-pw userdel test1 #删除账号

    killall  pure-ftpd//删除所有进程

    启动pure-ftpd服务的命令: /usr/local/pureftpd/sbin/pure-config.pl  /usr/local/pureftpd/etc/pure-ftpd.conf

    用其他终端登录 命令如: ftp 或者lftp

    ftp 192.168.1.122

    lftp test2@192.168.1.122

    test2表示创建的pure-ftpd软件用户

    目录中的文件不是实时刷新的/data/ftp

    put filename 上传

    get  filename 下载

    ?  查看表示显示支持的命令

    ------------------------------------------------------------------------------------------------------------------------------

    vsftp

    vsftp配置ftp服务  (文档http://note.youdao.com/share/?id=4be23a089a56f46a9f56d5f7b97fca96&type=note
    yum install -y vsftpd db4-utils

     db4-utils 是用来生产密码文件的。

    装完以后可以直接启动 :/etc/init.d/vsftpd start
    建立虚拟账号

    useradd virftp -s /sbin/nologin  #建立一个与虚拟账号对应的系统账号
    建立虚拟账户相关的文件  

    vim  /etc/vsftpd/vsftpd_login //建立虚拟账户相关的账户密码文件奇数行为账号偶数行为密码 内容如下: 
        test1
        123456
        test2
        abcdef
    chmod 600 /etc/vsftpd/vsftpd_login #修改一下权限
    生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login  /etc/vsftpd/vsftpd_login.db #虚拟账号密码文件对应的数据库文件

    -----------------------------------------------------------------------
    建立虚拟账号相关的目录以及配置文件

    mkdir  /etc/vsftpd/vsftpd_user_conf
    cd   /etc/vsftpd/vsftpd_user_conf 

    创建和用户对应的配置文件(文件名跟用户名一致)

    vim /etc/vsftpd/vsftpd_user_conf/test1
    vim test1 内容如下:
    local_root=/home/virftp/test1#
    anonymous_enable=NO
    write_enable=YES
    local_umask=022
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    idle_session_timeout=600
    data_connection_timeout=120
    max_clients=10
    max_per_ip=5
    local_max_rate=50000


    mkdir /home/virftp/test1
    修改权限: chown -R virftp:virftp /home/virftp
    vim /etc/pam.d/vsftpd   在最开头添加两行 
    auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统,则改为/lib64/security/pam_userdb.so 
    account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  //如果是64位系统,则改为/lib64/security/pam_userdb.so 
    再修改  vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES改为anonymous_enable=NO
    #anon_upload_enable=YES 改为 anon_upload_enable=NO
    #anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
    再增加:

    chroot_local_user=YES

    guest_enable=YES

    guest_username=virftp

    virtual_use_local_privs=YES

    user_config_dir=/etc/vsftpd/vsftpd_user_conf

    启动vsftpd服务 /etc/init.d/vsftpd start  

    get filename

    put filename

    mirror 目录

    mirror -R 目录 上传
     文件在 /home/virftp/test1/
    vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.com/bbs/thread-342-1-1.html
    ftp的主动和被动模式  http://www.aminglinux.com/bbs/thread-961-1-1.html

  • 相关阅读:
    阿里云云效技术专家分享:云原生开发、调测及可靠发布解决方案
    对话李飞飞,揭秘国际体育赛事风“云”背后的黑科技
    时序数据库永远的难关 — 时间线膨胀(高基数 Cardinality)问题的解决方案
    当Java遇上机密计算,又一段奇幻之旅开始了!
    内核热补丁,真的安全么?
    在 Dubbo3.0 上服务治理的实践
    CCF-201509-3-生成模板系统
    WPF CommandParameter的使用
    UWP App Data存储和获取
    在WPF中的ItemsControl中使用事件和命令(Using events and Commands within ItemsControl in WPF)
  • 原文地址:https://www.cnblogs.com/yuankaituo/p/4266038.html
Copyright © 2011-2022 走看看