zoukankan      html  css  js  c++  java
  • FTP服务搭建与配置

    FTP介绍

    大企业用的基本都是自动化发布工具,会用GIT企业发布的版本上传到服务器,

    使用vsftpd搭建ftp服务(上)

    http://blog.csdn.net/qq_26941173/article/details/54575952

    1.yum安装vsftpd包

    [root@fuwuduan nfstestdir]# yum install -y vsftpd
    

    2.建立账号

    vsftp默认支持系统账号体系登录,但那样不安全,我们可以使用虚拟账号体系。

    (一)建立与虚拟账号相关联的系统账号

    [root@fuwuduan nfstestdir]# useradd -s /sbin/nologin virftp
    [root@fuwuduan nfstestdir]# 
    

    3.创建ftp用户账号文件写入用户user1

    [root@fuwuduan nfstestdir]# vim /etc/vsftpd/vsftpd_login
    [root@fuwuduan nfstestdir]# 
    
    user1
    user1
    

    4.设置密码问题权限

    [root@fuwuduan nfstestdir]# chmod 600 /etc/vsftpd/vsftpd_login 
    [root@fuwuduan nfstestdir]# 
    

    5.vsfptd使用的密码文件不是明文的,需要生成对应的库文件。

    [root@fuwuduan nfstestdir]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
    [root@fuwuduan nfstestdir]#
    

    6.发现生成了vsftpd_login.db文件

    [root@fuwuduan nfstestdir]# ls -l /etc/vsftpd/
    总用量 36
    -rw-------. 1 root root   125 8月   3 2017 ftpusers
    -rw-------. 1 root root   361 8月   3 2017 user_list
    -rw-------. 1 root root  5030 8月   3 2017 vsftpd.conf
    -rwxr--r--. 1 root root   338 8月   3 2017 vsftpd_conf_migrate.sh
    -rw-------. 1 root root    12 2月  23 15:02 vsftpd_login
    -rw-r--r--. 1 root root 12288 2月  23 15:04 vsftpd_login.db
    [root@fuwuduan nfstestdir]# 
    

    7.创建虚拟用户配置文件所在目录

    [root@fuwuduan nfstestdir]# mkdir /etc/vsftpd/vsftpd_user_conf
    [root@fuwuduan nfstestdir]# cd /etc/vsftpd/vsftpd_user_conf/
    [root@fuwuduan vsftpd_user_conf]# 
    

    8.创建和用户对应的配置文件,用户的配置文件时单独存在的,每一个用户都有一个自己的配置文件,文件名和用户名一致

    [root@fuwuduan vsftpd_user_conf]# vim user1
    [root@fuwuduan vsftpd_user_conf]# 
    

      

     

    9.写入配置文件内容

    local_root=/home/virftp/user1                  #虚拟用户的家目录
    
    anonymous_enable=NO                         #是否允许匿名用户登录
    
    write_enable=YES                           #是否可写
    
    local_umask=022                            #指定umask值,创建新文件/目录的权限是什么
    
    anon_upload_enable=NO                        #是否允许匿名用户可上传
    
    anon_mkdir_write_enable=NO                    #是否允许匿名用户可写
    
    idle_session_timeout=600                      #超过600秒需要重新登录
    
    data_connection_timeout=120                    #数据传输的超时时间
    
    max_clients=10                             #最大的链接客户多少
    

    10.创建虚拟用户家目录

    [root@fuwuduan vsftpd_user_conf]# mkdir /home/virftp/user1
    [root@fuwuduan vsftpd_user_conf]# touch /home/virftp/user1/user1.txt
    [root@fuwuduan vsftpd_user_conf]# chown -R virftp:virftp /home/virftp/
    
    [root@fuwuduan vsftpd_user_conf]# vim /etc/pam.d/vsftpd (在最开始添加2行)
    [root@fuwuduan vsftpd_user_conf]# 
    
    #%PAM-1.0
    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login     
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    session    optional     pam_keyinit.so    force revoke
    auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
    auth       required     pam_shells.so
    auth       include      password-auth
    account    include      password-auth
    session    required     pam_loginuid.so
    session    include      password-auth
    

    11.在centos7为64位系统,所以库文件路径为/lib64/security/pam_userdb.so。  (32位操作系统路为/lib/security/pam_userdb.so)

    [root@fuwuduan vsftpd_user_conf]# ls /lib64/security/pam_userdb.so 
    /lib64/security/pam_userdb.so
    [root@fuwuduan vsftpd_user_conf]# 
    

      

    12.修改全局配置文件,首先编辑vsftpd.conf文件

    anonymous_enable=YES      (YSE更改为NO)             #不允许匿名用户
    
    anon_upload_enable=YES      (去掉#,YES改为NO)        #不允许上传
    
    anon_mkdir_write_enable=YES    (去掉#,YES改为NO)       #不允许创建目录
    
    在最后添加几行:
    
    chroot_local_user=YES                         (将所有用户都限制在主目录)
    
    guest_enable=YES                            (打开虚拟用户映射系统用户)
    
    guest_username=virftp                        (映射到那个系统用户)
    
    virtual_use_local_privs=YES                     (告诉服务我们使用的虚拟用户)
    
    user_config_dir=/etc/vsftpd/vsftpd_user_conf        (虚拟配置文件所在路径)
    
    allow_writeable_chroot=YES                      (登录以后默认在其家目录中)
    

    13.启动服务,查看进程和监听的端口 

    [root@fuwuduan vsftpd_user_conf]# /usr/sbin/vsftpd (systemctl start vsftpd)         
    [root@fuwuduan vsftpd_user_conf]# ps aux|grep vsftp                      
    root      68172  0.1  0.0  51140   568 ?        Ss   16:39   0:00 /usr/sbin/vsftpd
    root      68174  0.0  0.0 112680   976 pts/2    R+   16:39   0:00 grep --color=auto vsftp
    [root@fuwuduan vsftpd_user_conf]# 
    

    14.查看监听的端口

    [root@fuwuduan vsftpd_user_conf]# netstat -lntp
    
    tcp6       0      0 :::21                   :::*                    LISTEN      68172/vsftpd  
    

    使用vsftpd搭建ftp服务(下)

    1.安装lftp包

    [root@fuwuduan vsftpd_user_conf]# yum install -y lftp
    

    2.测试(如有错误可能配置文件中有空格,去掉就可以了)

    [root@fuwuduan vsftpd_user_conf]# lftp user1@127.0.0.1
    口令: 
    lftp user1@127.0.0.1:~> ls          
    -rw-r--r--    1 1003     1003            0 Feb 23 07:57 user1.txt
    lftp user1@127.0.0.1:/> 
    

    3.输入?号可以看到支持的命令

    lftp user1@127.0.0.1:/> ?
        !<shell-command>                     (commands)
        alias [<name> [<value>]]             attach [PID]
        bookmark [SUBCMD]                    cache [SUBCMD]
        cat [-b] <files>                     cd <rdir>
        chmod [OPTS] mode file...            close [-a]
        [re]cls [opts] [path/][pattern]      debug [<level>|off] [-o <file>]
        du [options] <dirs>                  exit [<code>|bg]
        get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>             help [<cmd>]
        history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]
        kill all|<job_no>                    lcd <ldir>
        lftp [OPTS] <site>                   ln [-s] <file1> <file2>              ls [<args>]
        mget [OPTS] <files>                  mirror [OPTS] [remote [local]]
        mkdir [-p] <dirs>                    module name [args]                   more <files>
        mput [OPTS] <files>                  mrm <files>
        mv <file1> <file2>                   [re]nlist [<args>]
        open [OPTS] <site>                   pget [OPTS] <rfile> [-o <lfile>]
        put [OPTS] <lfile> [-o <rfile>]      pwd [-p]
        queue [OPTS] [<cmd>]                 quote <cmd>
        repeat [OPTS] [delay] [command]      rm [-r] [-f] <files>
        rmdir [-f] <dirs>                    scache [<session_no>]
        set [OPT] [<var> [<val>]]            site <site-cmd>                      source <file>
        torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]             wait [<jobno>]
        zcat <files>                         zmore <files>
    lftp user1@127.0.0.1:/> 
    

    4.get命令下载一个文件到当前目录  

    lftp user1@127.0.0.1:/> get user1.txt 
    lftp user1@127.0.0.1:/> quit     
    [root@fuwuduan vsftpd_user_conf]# ls -lt |head
    总用量 4
    -rw-r--r--. 1 root root 200 2月  23 17:53 user1
    -rw-r--r--. 1 root root   0 2月  23 15:57 user1.txt
    [root@fuwuduan vsftpd_user_conf]#  

    xshell使用xftp来传输文件

    1.下载Xftp

    同时按住crtl+alt+f,下载xftp服务

    xshell使用xftp传输文件(xftp使用的也是ssh协议,监听的22端口)

    同时按住crtl+alt+f ,xshell会跳出一个

    1.png

    进入下载xftp,会出现一个页面,(按照页面填好的内容写)

    2.png

    这时xshell会把下载地址发到你的邮箱内,在邮箱里点开链接即可。

    下载并安装完成后,我们在打开xshell界面,同时按住crtl+alt+f,这时会弹出xftp的界面

    3.png

    左边是我们的windows,右边是我们的linux。

    想从Linux把文件拉倒windows或者windows拉倒linux。只需要把文件拉倒对方即可。

    使用pure-ftpd搭建ftp服务  

    1.安装pure-ftpd包

    [root@fuwuduan ~]# yum install -y pure-ftpd
    

    2.修改配置文件

    [root@fuwuduan ~]# vim /etc/pure-ftpd/pure-ftpd.conf 
    [root@fuwuduan ~]# 
    #PureDB                        /etc/pure-ftpd/pureftpd.pdb (去掉前面的#号,PureDB用户数据库文件

    3.启动pure-ftpd

    [root@fuwuduan ~]# systemctl stop vsftpd
    [root@fuwuduan ~]# 
    [root@fuwuduan ~]# ps aux|grep vsftpd    
    root     101522  0.0  0.0 112680   968 pts/2    S+   18:01   0:00 grep --color=auto vsftpd
    [root@fuwuduan ~]# systemctl start pure-ftpd
    [root@fuwuduan ~]# ps aux|grep vsftpd       
    root     101557  0.0  0.0 112680   968 pts/2    S+   18:01   0:00 grep --color=auto vsftpd
    [root@fuwuduan ~]# ps aux|grep pure
    root     101555  0.3  0.1 200332  1184 ?        Ss   18:01   0:00 pure-ftpd (SERVER)
    root     101559  0.0  0.0 112680   972 pts/2    R+   18:01   0:00 grep --color=auto pure
    [root@fuwuduan ~]# 
    

    4.给pure-ftp的用户创建目录 

    [root@fuwuduan ~]# mkdir /data/ftp
    [root@fuwuduan ~]# useradd -u 1010 pure-ftp
    [root@fuwuduan ~]# chown -R pure-ftp:pure-ftp /data/ftp
    [root@fuwuduan ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp/
    Password: 
    Enter it again: 
    [root@fuwuduan ~]# 
    

    5.测试成功

    [root@fuwuduan ~]# touch /data/ftp/123.txt
    [root@fuwuduan ~]# lftp ftp_usera@127.0.0.1
    口令: 
    lftp ftp_usera@127.0.0.1:~> ls      
    drwxr-xr-x    2 1010       pure-ftp           20 Feb 24 18:18 .
    drwxr-xr-x    2 1010       pure-ftp           20 Feb 24 18:18 ..
    -rw-r--r--    1 0          0                   0 Feb 24 18:18 123.txt
    lftp ftp_usera@127.0.0.1:/> 
    
  • 相关阅读:
    5.2基础标签学习
    6.15ajax选房子
    6.15ajax写数据库的增删改查
    [Ext JS 4] 实战之Grid, Tree Gird 添加按钮列
    DOM4J 读取XML配置文件进行数据库连接
    Bit Map解析
    图像像素操作
    九度OJ 1025 最大报销额(01背包)
    MYSQL :逗号分隔串表,分解成竖表
    interrupt & storage & DMA
  • 原文地址:https://www.cnblogs.com/sunyujun/p/8461884.html
Copyright © 2011-2022 走看看