标签: centos7vsftpd

 
分类:
linux相关(关于centos)(2) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

初学Linux,各种被虐,经过各种折腾,终于成功在centosos7上搭建好了vsftpd,把操作过程写出来,供大家参考!

#-------------------------------------------------------------------

#   实现的目标及场景:

#   在centos7上搭建ftp环境,配置vsftpd

#   创建账号Fuser,dongzhu【多个账号】并使用该账号登录

#   使用被动模式,端口区间:40000-41000

#-------------------------------------------------------------------

一:安装Vsftpd软件

安装vsftpd,并设置开机启动

[plain] 
view plain
 copy

print
?

  1. #yum install -y vsftpd
  2. #systemctl start vsftpd.service
  3. #systemctl enable vsftpd.service

二:配置vsftpd环境

执行下边的命令,一行一行来。

[plain] 
view plain
 copy

print
?

  1. #sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
  2. #sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
  3. #sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  4. #sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'
  5. #sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  6. #sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  7. #sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  8. #sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'
  9. #echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300
  10. #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=Fuser
  1. #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=dongzhu
  1. #\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES
  2. #\allow_writeable_chroot=YES
  3. #\npasv_min_port=40000\npasv_max_port=41000
  4. #\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf

三:创建ftp用户

创建用户Fuser,一些写教程登录终端是/bin/false,我卡这半天,具体可以搜它和nologin的区别

[plain] 
view plain
 copy

print
?

  1. #useradd Fuser -d /wwwroot -s /sbin/nologin
  2. #chown Fuser.Fuser /wwwroot -R
  3. #passwd dongzhu
  1. #useradd dongzhu -d /wwwroot -s /sbin/nologin
  2. #chown dongzhu.dongzhu /wwwroot -R
  3. #passwd dongzhu

四:重启vsftp服务

[plain] 
view plain
 copy

print
?

  1. systemctl restart vsftpd.service

注意,这里是centos的关于vsftp重启,以前的命令在这不管用!如果开了防火墙,记得把相应的端口添加进去,本场环境中涉及21,40000-41000

可能会用到的:

彻底删除用户:#userdel -rf Fuser   //强制删除用户及相关目录文件

变更用户属性:#usermod -s /sbin/nologin Fuser

查看当前服务:#netstat -lntp

附:端口防火墙例外(端口放行)配置方法

1.centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall

  1. 1.查看已开放的端口(默认不开放任何端口)
  2. firewall-cmd --list-ports
  3. 2.开启80端口
  4. firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
  5. 3.重启防火墙
  6. firewall-cmd --reload
  7. 4.停止防火墙
  8. systemctl stop firewalld.service
  9. 5.禁止防火墙开机启动
  10. systemctl disable firewalld.service
  11. 6.删除
  12. firewall-cmd --zone= public --remove-port=80/tcp --permanent
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

2.centos7以下版本

  1. 1.开放80228080 端口
  2. /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  3. /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
  4. /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
  5. 2.保存
  6. /etc/rc.d/init.d/iptables save
  7. 3.查看打开的端口
  8. /etc/init.d/iptables status
  9. 4.关闭防火墙
  10. 1 永久性生效,重启后不会复原
  11. 开启: chkconfig iptables on
  12. 关闭: chkconfig iptables off
  13. 2 即时生效,重启后复原
  14. 开启: service iptables start
  15. 关闭: service iptables stop
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

同时附上另一篇安装指南供参考

CentOS7安装和配置FTP

1. 安装vsftpd

  1. #安装vsftpd
  2. yum install -y vsftpd
  3. #设置开机启动
  4. systemctl enable vsftpd.service
  5. # 重启
  6. service vsftpd restart
  7. # 查看vsftpd服务的状态
  8. systemctl status vsftpd.service


2. 配置vsftpd.conf

  1. #备份配置文件
  2. cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  3.  
  4. #执行以下命令
  5. sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
  6.  
  7. sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
  8.  
  9. sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  10.  
  11. sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'
  12.  
  13. sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  14.  
  15. sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  16.  
  17. sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
  18.  
  19. sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'
  20.  
  21. #添加下列内容到vsftpd.conf末尾
  22. use_localtime=YES
  23. listen_port=21
  24. chroot_local_user=YES
  25. idle_session_timeout=300
  26. guest_enable=YES
  27. guest_username=vsftpd
  28. user_config_dir=/etc/vsftpd/vconf
  29. data_connection_timeout=1
  30. virtual_use_local_privs=YES
  31. pasv_min_port=10060
  32. pasv_max_port=10090
  33. accept_timeout=5
  34. connect_timeout=1


3. 建立用户文件

  1. #第一行用户名,第二行密码,不能使用root为用户名
  2. vi /etc/vsftpd/virtusers
  3. chris
  4. 123456
  5. chang
  6. 123456


4. 生成用户数据文件

  1. db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
  2.  
  3. #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
  4.  
  5. chmod 600 /etc/vsftpd/virtusers.db


5. 修改/etc/pam.d/vsftpd文件

  1. # 修改前先备份
  2.  
  3. cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
  4.  
  5. # 将auth及account的所有配置行均注释掉
  6. vi /etc/pam.d/vsftpd
  7.  
  8. auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
  9.  
  10. account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
  11.  
  12. # 如果系统为32位,上面改为lib


6. 新建系统用户vsftpd,用户目录为/home/vsftpd

  1. #用户登录终端设为/bin/false(即:使之不能登录系统)
  2. useradd vsftpd -d /home/vsftpd -s /bin/false
  3. chown -R vsftpd:vsftpd /home/vsftpd


7.建立虚拟用户个人配置文件

  1. mkdir /etc/vsftpd/vconf
  2. cd /etc/vsftpd/vconf
  3.  
  4. #这里建立两个虚拟用户配合文件
  5. touch chris chang
  6.  
  7. #建立用户根目录
  8. mkdir -p /home/vsftpd/chris/
  9.  
  10. #编辑chris用户配置文件,内容如下,其他用户类似
  11. vi chris
  12.  
  13. local_root=/home/vsftpd/chris/
  14. write_enable=YES
  15. anon_world_readable_only=NO
  16. anon_upload_enable=YES
  17. anon_mkdir_write_enable=YES
  18. anon_other_write_enable=YES


8. 防火墙设置

  1. vi /etc/sysconfig/iptables
  2. #编辑iptables文件,添加如下内容,开启21端口
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

9. 重启vsftpd服务器

  1. service vsftpd restart


10. 使用xftp等软件连接测试

centos7搭建vsftpd环境详解[亲测成功]的更多相关文章

  1. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  2. react-native模拟机调试步骤详解 ——亲测有效!!!!

    步骤 1 下载安装夜神模拟器,去夜神官网下载即可!然后安装完成!进入到初始化项目的目录,打开cmd命令,运行adb connect 127.0.0.1:62001 链接模拟器 2 链接完成之后,运行安 ...

  3. DataGrip for Mac破解步骤详解 亲测好用

    https://blog.csdn.net/le945926/article/details/81912085

  4. PHP exif扩展方法开启详解(亲测)

    本节主要介绍了如何开启PHP exif扩展方法,主要在于对php.ini文件的修改 服务器配置说明: 1.在php.ini文件中找到;extension=php_exif.dll,去掉前面的分号 2. ...

  5. 【转】jumpserver 堡垒机环境搭建(图文详解)

    jumpserver 堡垒机环境搭建(图文详解)   摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...

  6. 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  7. 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...

  8. JS逆向之浏览器补环境详解

    JS逆向之浏览器补环境详解 "补浏览器环境"是JS逆向者升职加薪的必备技能,也是工作中不可避免的操作. 为了让大家彻底搞懂 "补浏览器环境"的缘由及原理,本文将 ...

  9. Ubuntu下Git从搭建到使用详解

    Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...

  10. CentOS7进程管理systemd详解

      概述: 系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的 ...

随机推荐

  1. Java 多线程------解决 实现Runnabel接口方式线程的线程安全问题 方式二:同步方法 +总结

    方式二:同步方法* 如果操作共享数据的代码完整的声明在一个方法中,我们不妨将此方法声明同步的 1 package bytezero.threadsynchronization; 2 3 4 5 /** ...

  2. Vue实现图片瀑布流

    在线演示地址:点击前往 一,创建一个Waterfall组件 代码如下: <template> <div class="waterfall"> <!-- ...

  3. 通过debug搞清楚.vue文件怎么变成.js文件

    前言 我们每天写的vue代码都是写在vue文件中,但是浏览器却只认识html.css.js等文件类型.所以这个时候就需要一个工具将vue文件转换为浏览器能够认识的js文件,想必你第一时间就想到了web ...

  4. select 对当前选项显示文本的获取 m.options[m.selectedIndex].text | selectz

    select 对当前选项显示文本的获取 m.options[m.selectedIndex].text | selectz <html> <head> <title> ...

  5. KeyCastOW win10 屏幕显示按键 - 屏幕录像用

    KeyCastOW win10 屏幕显示按键 - 屏幕录像用 https://gitee.com/itas109/KeyCastOW/releases/v2.0.2.5-cn

  6. open cv java 可以 对图片进行分析,得到数据。考试答题卡 2B铅笔涂黑嘎达 识别

    open cv java 可以 对图片进行分析,得到数据.考试答题卡 2B铅笔涂黑嘎达 识别

  7. AirPlay、DLNA、Miracast三大无线应用协议科普

    作为经常玩wifi的,wifi的应用层协议就要好好分析一下,做一些特殊的应用,还是非常有必要的.这里,就给学习一下wifi的三大无线传输技术. AirPlayAirPlay 是苹果开发的一种无线技术, ...

  8. 小程序登录V2

    参考:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801(通知) https:/ ...

  9. 建民哥哥的AV

    1 #include<bits/stdc++.h> 2 #include<vector> 3 #include<algorithm> 4 using namespa ...

  10. 记录--前端无感知刷新token & 超时自动退出

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前端无感知刷新token&超时自动退出 一.token的作用 因为http请求是无状态的,是一次性的,请求之间没有任何关系,服务端 ...