• 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.测试能不能成功访问
     
  • 相关阅读:
    uva 12034 Race
    计算机基础之计算机硬件软件数据结构
    Project Perfect让Swift在server端跑起来-Perfect in Visual Studio Code (四)
    关于自己定义转场动画,我都告诉你。
    Shell编程入门
    CODEVS 1029 遍历问题
    【VBA研究】工作表自己主动筛选模式检測
    卸载MySQL 5.0
    操作系统(二)进程控制
    前端面试题
  • 原文地址:https://www.cnblogs.com/yangxiaofei/p/4953648.html
Copyright © 2020-2023  润新知