centos7搭建vsftpd环境详解[亲测成功]
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
初学Linux,各种被虐,经过各种折腾,终于成功在centosos7上搭建好了vsftpd,把操作过程写出来,供大家参考!
#-------------------------------------------------------------------
# 实现的目标及场景:
# 在centos7上搭建ftp环境,配置vsftpd
# 创建账号Fuser,dongzhu【多个账号】并使用该账号登录
# 使用被动模式,端口区间:40000-41000
#-------------------------------------------------------------------
一:安装Vsftpd软件
安装vsftpd,并设置开机启动
- #yum install -y vsftpd
- #systemctl start vsftpd.service
- #systemctl enable vsftpd.service
二:配置vsftpd环境
执行下边的命令,一行一行来。
- #sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
- #sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'
- #echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300
- #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=Fuser
- #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=dongzhu
- #\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES
- #\allow_writeable_chroot=YES
- #\npasv_min_port=40000\npasv_max_port=41000
- #\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf
三:创建ftp用户
创建用户Fuser,一些写教程登录终端是/bin/false,我卡这半天,具体可以搜它和nologin的区别
- #useradd Fuser -d /wwwroot -s /sbin/nologin
- #chown Fuser.Fuser /wwwroot -R
- #passwd dongzhu
- #useradd dongzhu -d /wwwroot -s /sbin/nologin
- #chown dongzhu.dongzhu /wwwroot -R
- #passwd dongzhu
四:重启vsftp服务
- systemctl restart vsftpd.service
注意,这里是centos的关于vsftp重启,以前的命令在这不管用!如果开了防火墙,记得把相应的端口添加进去,本场环境中涉及21,40000-41000
可能会用到的:
彻底删除用户:#userdel -rf Fuser //强制删除用户及相关目录文件
变更用户属性:#usermod -s /sbin/nologin Fuser
查看当前服务:#netstat -lntp
附:端口防火墙例外(端口放行)配置方法
1.centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall
1.查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports
2.开启80端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
3.重启防火墙
firewall-cmd --reload
4.停止防火墙
systemctl stop firewalld.service
5.禁止防火墙开机启动
systemctl disable firewalld.service
6.删除
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.开放80,22,8080 端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存
/etc/rc.d/init.d/iptables save
3.查看打开的端口
/etc/init.d/iptables status
4.关闭防火墙
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: 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
#安装vsftpd
yum install -y vsftpd
#设置开机启动
systemctl enable vsftpd.service
# 重启
service vsftpd restart
# 查看vsftpd服务的状态
systemctl status vsftpd.service
2. 配置vsftpd.conf
#备份配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak #执行以下命令
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf' #添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
3. 建立用户文件
#第一行用户名,第二行密码,不能使用root为用户名
vi /etc/vsftpd/virtusers
chris
123456
chang
123456
4. 生成用户数据文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/virtusers.db
5. 修改/etc/pam.d/vsftpd文件
# 修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak # 将auth及account的所有配置行均注释掉
vi /etc/pam.d/vsftpd auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers # 如果系统为32位,上面改为lib
6. 新建系统用户vsftpd,用户目录为/home/vsftpd
#用户登录终端设为/bin/false(即:使之不能登录系统)
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd
7.建立虚拟用户个人配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf #这里建立两个虚拟用户配合文件
touch chris chang #建立用户根目录
mkdir -p /home/vsftpd/chris/ #编辑chris用户配置文件,内容如下,其他用户类似
vi chris local_root=/home/vsftpd/chris/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
8. 防火墙设置
vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
9. 重启vsftpd服务器
service vsftpd restart
10. 使用xftp等软件连接测试
centos7搭建vsftpd环境详解[亲测成功]的更多相关文章
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- react-native模拟机调试步骤详解 ——亲测有效!!!!
步骤 1 下载安装夜神模拟器,去夜神官网下载即可!然后安装完成!进入到初始化项目的目录,打开cmd命令,运行adb connect 127.0.0.1:62001 链接模拟器 2 链接完成之后,运行安 ...
- DataGrip for Mac破解步骤详解 亲测好用
https://blog.csdn.net/le945926/article/details/81912085
- PHP exif扩展方法开启详解(亲测)
本节主要介绍了如何开启PHP exif扩展方法,主要在于对php.ini文件的修改 服务器配置说明: 1.在php.ini文件中找到;extension=php_exif.dll,去掉前面的分号 2. ...
- 【转】jumpserver 堡垒机环境搭建(图文详解)
jumpserver 堡垒机环境搭建(图文详解) 摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...
- 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)
为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...
- 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)
为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...
- JS逆向之浏览器补环境详解
JS逆向之浏览器补环境详解 "补浏览器环境"是JS逆向者升职加薪的必备技能,也是工作中不可避免的操作. 为了让大家彻底搞懂 "补浏览器环境"的缘由及原理,本文将 ...
- Ubuntu下Git从搭建到使用详解
Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...
- CentOS7进程管理systemd详解
概述: 系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的 ...
随机推荐
- shell脚本的基本使用
本文是对菜鸟教程 shell编程原文 的总结并记录 如有侵权 联系删除 简介 说明: Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.这个应用程序提供了一个界面,用户通过这 ...
- Java 多态 案列
1 package com.bytezreo.duotai; 2 3 //多态性的使用 举例一 4 public class AnimalTest 5 { 6 public static void m ...
- JS案例-网页轮播图
鼠标经过轮播图模块,左右按钮提示,离开隐藏左右按钮 点击右侧按钮一次,图片往左播放一张,以此类推,左侧按钮同理 图片播放的同时,下面小圆圈模块跟随一起变化 点击小圆圈,可以播放相应图片 鼠标不经过轮播 ...
- Python中的join()函数的用法实例分析
一.join()函数 语法: 'sep'.join(seq) 参数说明sep:分隔符.可以为空seq:要连接的元素序列.字符串.元组.字典上面的语法即:以sep作为分隔符,将seq所有的元素合并成一 ...
- 一种OSD 简单实现 (文字反色---opencv、字体切换---freetype2(中文、空格))
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 一个简单的RTMP服务器实现 --- RTMP与H264
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- Performance Improvements in .NET 8 -- Exceptions & Reflection & Primitives【翻译】
Exceptions 在 .NET 6 中,ArgumentNullException 增加了一个 ThrowIfNull 方法,我们开始尝试提供"抛出助手".该方法的目的是简洁地 ...
- Java 学习分享
建议语言入门可以先看看视频,学习网站可以是github,极客时间,infoQ等,然后去看书深入研究学习.学习最有效的方式一定是自己动手写代码,而不是看别人的代码,自己下载Intelli Idea多敲敲 ...
- Welcome to YARP - 2.2 配置功能 - 配置提供者(Configuration Providers)
目录 Welcome to YARP - 1.认识YARP并搭建反向代理服务 Welcome to YARP - 2.配置功能 2.1 - 配置文件(Configuration Files) 2.2 ...
- [LeetCode] 2045. 到达目的地的第二短时间
一.摘要 本文介绍了一种使用BFS求无向图中第二短的距离的算法,本文算法参考自Python3 BFS找出第二短路径.通过使用BFS求出题目中给出的路径图(无向联通图)从节点1到节点n的第二短的路径,再 ...