zoukankan      html  css  js  c++  java
  • Linux中FTP安装与配置

    Linux中FTP安装与配置


    引用与参考

    http://www.linuxidc.com/Linux/2015-02/114192.htm

    http://jingyan.baidu.com/article/5225f26b008e5ae6fa090882.html

    http://blog.csdn.net/freedom2028/article/details/4430977


    FTP安装与配置

    1.关闭防火墙和selinux

    [root@vmware1 ~]# /etc/init.d/iptables stop 
    [root@vmware1 ~]# chkconfig iptables off 
    [root@vmware1 ~]# setenforce 0


    2.安装vsftp软件包
    [root@vmware1 ~]# yum install -y vsftpd


    3.先备份vsftpd的默认配置文件

    [root@vmware1 ~]# cd /etc/vsftpd/ 
    [root@vmware1 vsftpd]# cp vsftpd.conf vsftpd.conf.bak


    4.修改配置
    [root@vmware1 vsftpd]# vi vsftpd.conf

    内容(根据自身情况使用):
    anonymous_enable=NO                    #不允许匿名用户登陆 
    local_enable=YES                      #vsftpd所在系统的用户可以登录vsftpd 
    write_enable=YES                      #允许使用任何可以修改文件系统的FTP的指令 
    local_umask=002                        #匿名用户新增文件的umask数值 
    anon_upload_enable=NO                  #匿名用户不可以上传文件 
    anon_mkdir_write_enable=NO            #匿名用户不可以修改文件 
    xferlog_enable=YES                    #启用一个日志文件,用于详细记录上传和下载。                
    use_localtime=YES                      #使用本地时间而不是GMT 
    vsftpd_log_file=/var/log/vsftpd.log    #vsftpd日志存放位置 
    dual_log_enable=YES                    #用户登陆日志 
    connect_from_port_20=YES              #开启20端口      
    xferlog_file=/var/log/xferlog          #记录上传下载文件的日志 
    xferlog_std_format=YES                #记录日志使用标准格式 
    idle_session_timeout=600              #登陆之后超时时间60秒,登陆之后,一分钟不操作,就会断开连接。 
    chroot_local_user=YES                  #用于指定用户列表文件中的用户,是否允许切换到上级目录      
    listen=YES                            #开启监听 
    pam_service_name=vsftpd.vu            #验证文件的名字 
    userlist_enable=YES                    #允许由userlist_file指定文件中的用户登录FTP服务器                    
    tcp_wrappers=YES                      #支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny) 
    guest_enable=YES                      #起用虚拟用户 
    guest_username=taokey                  #虚拟用户名 

    #user_config_dir=/etc/vsftpd/vsftpuser  #虚拟用户配置文件路径 
    local_root=/usr/local/ftpFiles #自定义ftp上传路径(注意文件夹权限)
    pasv_min_port=35000  
    pasv_max_port=45000 
    pasv_enable=YES 
    pasv_promiscuous=YES 
    anon_other_write_enable=YES


    5.关闭并保存配置文件,重启vsftpd
    [root@localhost /]# service vsftpd restart

    6.添加FTP账户
    [root@localhost /]# useradd -d /home/ftpUser/ -g ftp -s /sbin/nologin ftpUser


    7.设置vsftpd用户密码
    [root@localhost /]# passwd ftpUser

    8.重启vsftpd
    [root@localhost /]# service vsftpd restart


    防火墙端口设置

    1.iptables 开放Ftp端口
    [root@localhost /]# vi /etc/sysconfig/iptables


    配置如下:
    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT


    2.启动防火墙

    [root@vmware1 ~]# /etc/init.d/iptables start



    ——————————————————————————————————-——————————————————————————————————————————————————————————-

    安装配置proftpd

           检查ftp服务是否已经在运行
    

    netstat -nlp | grep 21

    ps aux | grep ftp

    检查ftp服务是否已经安装
    service proftpd status

    安装proftpd
    yum install -y proftpd

    编辑配置文件
    vim /etc/proftpd.conf

    修改端口

    #新增
    Port                            21    
     #修改
    DefaultRoot                     ~ 
    
    #以下内容新增:
    <Limit LOGIN>
      AllowUser work
      DenyAll
    </Limit>
    <Directory /*>
      AllowOverwrite                on
    </Directory>
    

    启动 proftpd
    service proftpd restart

  • 相关阅读:
    <学习笔记>Algorithm Library Design 算法库设计in c++ III(设计策略)
    Openmesh函数库设计及与CGAL的对比
    Android全屏设置的两种方式
    notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别?
    android计量单位dip、px、sp之间区别与联系
    c# using作用
    C# sealed 关键字
    Codeforces Round #188 (Div. 2) A. Even Odds
    Github 使用中出现的问题解决方法
    ios开发:如何加载大量图片 相册示例
  • 原文地址:https://www.cnblogs.com/liuqun/p/12655230.html
Copyright © 2011-2022 走看看