zoukankan      html  css  js  c++  java
  • Linux下vsftpd搭建过程(防火墙版)

    1.确认主机IP

    [root@www data]# ifconfig 
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:22:05:B8  
              inet addr:10.0.0.3  Bcast:10.255.255.255  Mask:255.0.0.0
     
    2.关闭文件保护
    [root@www data]#vi /etc/selinux/config

    #SELINUX=enforcing               #注释掉

    #SELINUXTYPE=targeted             #注释掉

    SELINUX=disabled             #增加

    :wq! #保存退出

    setenforce 0                 #使配置立即生效

     
    3.安装vsftpd
    [root@www data]# yum install vsftpd -y
     
    4.编辑vsftpd配置文件
    [root@www data]# vi /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO                ## 匿名登录    关闭
    local_enable=YES                        ## 本地登录       开启
    write_enable=YES                       ## 本地用户的写入权限  开启
    local_umask=022                   ##使用FTP的本地文件权限
    dirmessage_enable=YES              # #是否显示目录下.message的内容
    xferlog_enable=YES                  # 激活上传/下载的日志

     

     

    connect_from_port_20=YES          # # 启用FTP数据端口的数据连接
    xferlog_std_format=YES               #  使用标准的日志格式
    listen=YES                               # 以独立的FTP服务运行

     

    listen_port=2121                  # 修改连接端口

    pam_service_name=vsftpd                  #验证方式

    userlist_enable=YES                     # 用userlist来限制用户访问     

    tcp_wrappers=YES                       #### 限制登录

    pasv_enable=YES                       # 是否开户被动模式
    pasv_min_port=8000                # 被动模式最小端口
    pasv_max_port=9000                ##    被动模式最大端口
    setproctitle_enable=YES          #为每个连接单独开一个进程
     
    5.编辑防火墙策略
     
    # Firewall configuration written by system-config-securitylevel
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :RH-Firewall-1-INPUT - [0:0]
    -A INPUT -j RH-Firewall-1-INPUT
    -A FORWARD -j RH-Firewall-1-INPUT
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8000:9000 -j ACCEPT
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    COMMIT 
     
    6.查看iptables策略
    [root@www data]# iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           
     
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           
     
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination         
     
    Chain RH-Firewall-1-INPUT (2 references)
    target     prot opt source               destination         
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:20 
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21 
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpts:8000:9000 
    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
     
    7.加载ftp模块
    lsmod | grep ftp                        ##  查看是否加载了ftp模块
    modprobe ip_nat_ftp  ## 加载ftp模块
    lsmod | grep ftp                        ##  再查看是否加载了ftp模块
     
    8.新建FTP目录和用户 权限
    [root@www data]#  mkdir /data            ## 创建FTP的目录在/data
    [root@www data]#  useradd -d /data -s /sbin/nologin htu      ##  创建FTP用户
    [root@www data]#  password yanghongfei   ## 设置用户密码
    [root@www data]#  chmod -R 777 /data       ## 设置用户权限
    [root@www data]#  chown -R htu:htu /data  ## 设置文件夹的属主属组
    7.重启vsftpd服务和防火墙服务
    [root@www data]# service vsftpd restart
    Shutting down vsftpd:                                      [  OK  ]
    Starting vsftpd for vsftpd:                                [  OK  ]
    [root@www data]# service iptables restart
    Flushing firewall rules:                                   [  OK  ]
    Setting chains to policy ACCEPT: filter                    [  OK  ]
    Unloading iptables modules:                                [  OK  ]
    Applying iptables firewall rules:                          [  OK  ]
    Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
     
     
    8.测试能不能成功访问
     
  • 相关阅读:
    「日常训练」Single-use Stones (CFR476D2D)
    「日常训练」Greedy Arkady (CFR476D2C)
    「Haskell 学习」二 类型和函数(上)
    「学习记录」《数值分析》第二章计算实习题(Python语言)
    「日常训练」Alena And The Heater (CFR466D2D)
    Dubbo 消费者
    Dubbo 暴露服务
    Rpc
    git fail to push some refs....
    Spring Cloud (6)config 客户端配置 与GitHub通信
  • 原文地址:https://www.cnblogs.com/yangxiaofei/p/4953648.html
Copyright © 2011-2022 走看看