CentOS7种搭建FTP服务器

安装vsftpd

首先要查看你是否安装vsftp

[root@localhost /]# rpm -q vsftpd
vsftpd-3.0.2-10.el7.x86_64           #显示也就安装成功了!

如果没有则安装vsftpd

[root@localhost/]# yum  install -y  vsftpd

完成后再检查一遍

[root@localhost /]# whereis vsftpd
vsftpd:/usr/sbin/vsftpd   /etc/vsftpd/usr/share/man/man8/vsftpd

查看vsftpd服务的状态

[root@localhost /]# systemctl status vsftpd.service
#如果是激活状态的话会有active绿色的标记

激活vsftpd服务

[root@localhost /]# systemctl start vsftpd.service

设置vsftpd服务开机自启

[root@localhost /]# systemctl enable vsftpd.service

配置vsftpd.conf

首先备份配置文件(必须要备份,以免出现意外时恢复)

cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bakvim /etc/vsftpd/vsftpd.conf 

编辑配置文件,修改如下:

anonymous_enable=NO  # 禁用匿名登录
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES  # 启用限定用户在其主目录下
allow_writeable_chroot=YES  # 加上这行解决了无法登陆的问题(重点,不然可能会出现530问题)

之后在配置文件末尾添加

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=5
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=5

allow_writeable_chroot=YES

加上这行解决了无法登陆的问题(重点,不然可能会出现530问题)

建立用户文件

第一行用户名,第二行密码,不能使用root为用户名

vim /etc/vsftpd/virtusers

添加内容

charles
123456

生成用户数据文件

首先你需要确定你是否有db_load这个命令

rpm –q  db

安装之前先查询一下

yum  search db4

安装

yum install-y  compat-db47.x86_64  (以你的机器为准) 

生成db文件

db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

chmod 600 /etc/vsftpd/virtusers.db   (权限r,w即可)

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

修改前先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

将auth及account的所有配置行均注释掉

vim /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位,上面lib64改为lib

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

useradd vsftpd -d/home/vsftpd -s /bin/false

程序会自动创建vsftpd家目录

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

mkdir /etc/vsftpd/vconf
cd  /etc/vsftpd/vconf

这里建立两个虚拟用户配合文件

touch charles

建立用户根目录

mkdir -p /home/vsftpd/charles/

编辑用户配置文件,内容如下,其他用户类似

vim charleslocal_root=/home/vsftpd/charles/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

防火墙设置(centos 7)

如果系统启用了防火墙和SELinux,那么还要做以下配置(默认情况下centos7是使用firewall和selinux的,不在使用iptables)

防火墙添加FTP服务

[root@localhost vsftpd]#firewall-cmd --permanent --zone=public --add-service=ftp
[root@localhost vsftpd]#firewall-cmd --reload

设置SELinux:

[root@localhost vsftpd]#getsebool -a | grep ftp
[root@localhost vsftpd]#setsebool -P ftpd_full_access on

完成以上步骤就可以了!

测试

打开ftp客户端,输入服务器ip(虚拟机ip),填写虚拟用户名和密码即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js循环

顺序——要加分号结束 分支:让程序根据条件不同执行不同的代码 if else语句用来做分支的 if(条件){代码} if(条件){代码}else{代码} else if(条件){代码} if是嵌套。 switch...case&#xff1…

x264函数调用关系图

1 encoder 2 slice write 3 analyse FFMPEG中MPEG-2编解码函数调用关系图 1 Encoder (函数调用从左到右,下同;图片显示不全时,请下载显示) 2 P帧运动估计流程图 3 B帧运动估计流程图 4 decoder ffmpeg的mpeg2编码I帧代…

在 ActiveReports 中嵌入 Spread 控件

Spread 是一款很出色的表格控件,Spread 可以使开发人员把具有兼容 Microsoft Excel 的电子表格添加到程序中。ActiveReports 提供了一个非常灵活的、简单的报表环境。下面将展示怎样在 ActiveReports 中使用 Spread for WinForm。和其他三方控件一样,Spr…

day 05 多行输出与多行注释、字符串的格式化输出、预设创建者和日期

msg"hello1 hello2 hello3 " print(msg) 显示结果为: # " "只能进行单行的字符串 多行字符串用 ,前面设置变量,可以用 表示多行 msghello1 hello2 hello3print(msg) 显示结果为: 当然如果没有设置变量,…

深度学习之循环神经网络(Recurrent Neural Network,RNN)

递归神经网络和循环神经网络 循环神经网络(recurrent neural network):时间上的展开,处理的是序列结构的信息,是有环图递归神经网络(recursive neural network):空间上的展开&#…

从北京回来的年轻人,我该告诉你点什么?

前言 就在上周末,我与公众号里的一个当地粉丝见面了,一起吃了顿饭,顺便聊了聊。先来简单交代下我们这位粉丝(以下简称小L)的经历以及诉求。 小L之前在北京八维研修学院培训的PHP,因为家庭原因,没…

SUSE12系统安装及LVM设置详解

SUSE12自定义安装跟以往版本差不多,只是调整了一些功能安装顺序,例如网络设置放到很靠前,SUSE11的时候几乎是在后半部分,自定义分区也调整到网络设置之后,入口设置也隐秘,如果是熟悉suse11安装,…

CentOS7 安装nginx

1、官网下载安装包 官网:http://nginx.org/en/download.html 选择适合Linux的版本,这里选择最新的版本,下载到本地后上传到服务器或者centos下直接wget命令下载。 切换到/usr/local目录,下载软件包 # cd /usr/local # wget htt…

【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存/乐观悲观锁等优化算法)...

1. 循环分页或者循环进行部分读取处理数据的时候,使用 session.clear() ; 2. 对应1N(N1)问题使用如下解决方式: 1): 使用createCriteria进行查询(join fetch) 2):HQL -> joi…

最新ffmpeg编译和用eclipse进行源码调试

最近由于项目需要,必须修改ffmpeg的源码进行修改才能满足项目的需求,但以前我从来没有自己去编译和使用ffmpeg的源代码,一直都是用别人编译好了的sdk,再加上习惯了vs方便的编译环境,要在linux下对如此多的源代码进行编…

Django补充知识点——用户管理

内容概要 1、Form表单2、Ajax3、布局,Django母板4、序列化5、Ajax相关6、分页7、XSS攻击8、CSRF9、CBV、FBV 10、类中用装饰器的两种方法 11、上传文件 12、数据库正向查询、反向查询、多对多查询 13、jQuery对象和DOM对象可以互相转换 14、cookie和session 用户管理…

Python html 代码转成图片、PDF

一、下载 1、python的imgkit、pdfkit库 pip install imgkit pip install pdfkit 2、wkhtmltopdf工具包 下载地址:https://wkhtmltopdf.org/downloads.html 下载之后安装,安装完成会生成两个程序,分别用来转图片和pdf: 二、使…

SpringEL expression:

2019独角兽企业重金招聘Python工程师标准>>> 这个异常有下面几种情况 1、你写的 EL 表达式有语法错误。 2、再者就是你取得变量是多级的话比如 student.address.prevince 属性model 关联有问题。 3、还有就是你取得值为空(null) 比如 Thymel…

利用qt和ffmpeg软件来制作视频裁剪工具

0 什么是ffmpeg? Libav(旧称:FFmpeg)是一个自由软件,可以运行音频和视频多种格式的录影、转档、流功能[1],包含了libavcodec ─这是一个用于多个专案中音频和视频的解码器库,以及 libavformat ——一个音频…

域添加另一台机器_巨杉Tech | SequoiaDB数据域概念解读与实践

近年来,银行各项业务发展迅猛,客户数目不断增加,后台服务系统压力也越来越大,系统的各项硬件资源也变得非常紧张。因此,在技术风险可控的基础上,希望引入大数据技术,利用大数据技术优化现有IT系…

推荐一个接口文档工具

ShowDoc 转载于:https://www.cnblogs.com/LW-baiyun/p/8003975.html

云计算的概念_云计算概念掀起涨停潮 美利云奠定板块龙头地位

温馨提示:股市风险时刻存在,文中所提个股仅为个人观点,请勿盲目跟随操作,笔者希望大家都做到不贪婪,不恐惧,不瞎猜,不跟风做一个纪律严明轻松淡定的股票交易者。社4月26日讯,沪深两市…

Python 第三方模块之 PDFMiner(pdf信息提取)

PDFMiner简介 pdf提取目前的解决方案大致只有pyPDF和PDFMiner。据说PDFMiner更适合文本的解析,首先说明的是解析PDF是非常蛋疼的事,即使是PDFMiner对于格式不工整的PDF解析效果也不怎么样,所以连PDFMiner的开发者都吐槽PDF is evil. 不过这些…

TFS2017持续发布中调用PowerShell启停远程应用程序

目前团队项目中有多个Web、服务以及与大数据平台对接接口等应用,每次的发布和部署采用手工的方式进行。停止应用程序,拷贝发布包,启动应用程序,不停的循环着,并且时不时地会出现一些人为错误性问题。这种模式消耗的很多…

Flask 多线程

参数 app.run()中可以接受两个参数,分别是threaded和processes,用于开启线程支持和进程支持。 threaded: 是否开启多线程,默认不开启。 if __name__ __main__:app.run(threadedTrue)processes:进程数量&#xff0c…