CentOS下vsftpd服务器搭建


CentOS下vsftpd服务器搭建

1.最为简单的vsftpd服务器搭建
  1.安装vsftpd
    1.yum 安装

 yum install vsftpd 

    2.rpm文件安装(如果没有rpm文件,可以到http://rpmfind.net/网站下载)

rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

  2.防火墙(centos 6.5 使用的是iptables防火墙)
    1.开放21端口

1 iptables -A INPUT -p tcp --dport 21 -j ACCEPT

    2.开放20端口

1 iptables -A INPUT -p tcp --dport 20 -j ACCEPT

    3.开放20主动端口

1 iptables -A INPUT -m state --state NEW -p tcp --dport 20 -j ACCEPT

    4.开放21主动端口

1 iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

    5.写入被动模式端口

1 2 echo pasv_min_port=30000 >> /etc/vsftpd/vsftpd.conf echo_pasv_max_port=31000 >> /etc/vsftpd/vsftpd.conf

    (注意:min 和 max 可以随意填写,但要遵守如下规则
    max > min && min > 1000 && max < 65536)


    6.写入被动端口

1 iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT

    7.保存配置

1 /etc/init.d/iptables iptables save

    8.重启iptables防火墙

1 /etc/init.d/iptables iptables restart

  3.赋予权限

1 chmod -R 755 /var/ftp

  4.测试
    成功!!!

2.ftp匿名服务器
  1.配置
  在/etc/vsftpd/vsftpd.conf(此为vsftpd的主配置文件) 下:
  打开以下配置即可(删除前面的#号,如果没有,可以自行添加,默认配置文件最好不要注释掉)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 anonymous_enable=YES #允许匿名访问   local_enable=YES #支持本地端实体用户登录   write_enable=YES #如果要允许用户上传   local_umask=022 #限制上传文件的权限   anon_upload_enable=YES #允许上传文件   anon_mkdir_write_enable=YES #允许建立文件夹   anon_other_write_enable=YES #对文件有读写操作权限,意味着可以删除文件   xferlog_enable=YES #记录日志   xferlog_file=/var/log/xferlog #日志位置   pam_service_name=vsftpd #支持PAM模块的管理   tcp_wrappers=YES #支持TCP Wrappers 的防火墙机制

  2.测试

能够访问,并且能够下载但是不能上传

  3.selinux的配置

    查看selinux:

1 getsebool -a | grep ftp

    设置

1 setsebool -P allow_ftpd_anon_write=1 && setsebool -P allow_ftpd_full_access=1 &

    命令执行比较慢,可以放入后台执行

4.测试

  成功

3.实体用户配置
1.配置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 anonymous_enable=no #禁止匿名用户访问   local_enable=yes #支持实体用户登录   write_enable=yes #拥有写权限   local_umask=077 #默认目录权限是755 默认文件权限是644   dirmessage_enable=yes #显示文件内容   connect_from_port_20=YES #主动连接   xferlog_std_format=YES #记录日志   listen=YES #使用stand alone 方式启动   pam_service_name=vsftpd #支持pam模块   tcp_wrappers=yes #支持tcp防火墙   userlist_enable=yes #不允许/etc/vsftpd/user_list内的用户登录vsftpd 

  2.selinux的设置

1 setsebool -P ftp_home_dir=1

  3.测试

    成功!!!


4.ftp服务器安全
  1.chroot
    目录:/etc/vsftpd/chroot_list

    使用:
      1.将需要限制的用户名写入即可,一排一个用户名,最好通过 >> 来写入
      2.设置vsftpd.conf
        chroot_list_user=YES
        chroot_list_enable=YES
        chroot_list_file=/etc/vsftpd/chroot
    目的:
      在文件内的用户名登录ftp之后,只能在用户主目录下

  2.userlist
    目录:/etc/vsftpd/user_list

    使用:
      1.将需要限制的用户名写入即可,一排一个用户名,最好通过 >> 来写入
      2.设置vsftpd.conf
        userlist_enable=YES
        userlist_file=/etc/vsftpd/user_list

        如果 [ userlist_deny=NO ];那么
          此时文件内的用户才能访问ftp

        另外 [ userlist_deny=YES ];那么
          此时文件内的用户不能访问ftp

   目的:
    想让某人使用或者不使用ftp都可以

5.总结

  1.ftp 使用的端口为20,21 其中 21 为通道端口,20为连接端口

  2.防火墙与selinux开发规则即可

玩转vsftpd服务器的四大高级配置:

vsFTPd配置教程:

Ubuntu实用简单的FTP架设

Ubuntu 上架设FTP服务器和Apache服务器

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置

RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例

Linux系统vsftpd源码安装

openSUSE 13.2/13.1 下安装配置 FTP服务器 vsftpd 

本文永久更新链接地址

相关内容

    暂无相关文章