Linux-ftp服务搭建
云服务器ESC 部署vsftpd服务
记一次ftp服务搭建的采坑过程,这个坑一直卡了很久时间,都给忘记了。最近由于公司项目需要部署FTP,经过各种采坑,终于把这个坑给填上了。废话不多说,开干
环境说明:阿里云服务器(centos6系统)
1)安装 vsftpd 服务
# yum install vsftpd -y
配置文件说明
/etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置文件。
/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list 是白名单文件,此文件里的用户允许访问 FTP 服务器。
2)配置 vsftpd
vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能,使用匿名用户访问,无需输入用户名和密码即可登录 FTP 服务,但是没有权限修改或上传文件。
此处我配置本地用户登录
本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。
- 创建一个测试账号 ftptest 并设置一个密码
# useradd ftptest
# echo "ftptest@123" |passwd --stdin ftptest - 创建一个供 FTP 服务使用的文件目录
# mkdir /var/ftp/test
- 更改 /var/ftp/test 目录的拥有者为 ftptest
# chown ftptest:ftptest /var/ftp/test -R
- 修改配置文件前先进行备份一下
# cp /etc/vsftpd/vsftpd.conf{,.bak}
- 修改 vsftpd.conf 配置文件。(此处先使用被动模式)
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#设置本地用户登录后所在目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES#开启被动模式
pasv_enable=YES
#FTP服务器公网IP(也就是当前阿里云服务器的公网 IP)
pasv_address=120.xx.xx.xx
#设置被动模式下,建立数据传输可使用port范围的最小值
pasv_min_port=10000
#设置被动模式下,建立数据传输可使用port范围的最大值
pasv_max_port=10088 #本地用户上传文件的umask
local_umask=022
#是否在进入新目录时显示 message_file 文件中的内容
dirmessage_enable=YES
#启用日志
xferlog_enable=YES
#日志是否进行格式化
xferlog_std_format=YES
#独立服务
listen=YES
#centos7增加此设置,开启后默认监控ipv4和ipv6
listen_ipv6=NO
#认证模式
pam_service_name=vsftpd
#启用用户列表
userlist_enable=YES
#可以上传(全局控制)
write_enable=YES
#允许下载
download_enable=YES - 启动 vsftpd
# service vsftpd start
3)设置安全组规则(这里很关键)由于上面是被动模式,所以添加端口时包含了 默认端口21,还有配置文件中参数pasv_min_port和pasv_max_port之间的所有端口。如图:
4)测试,我们先在linux上面测试,再在浏览器上面测试,再在windows的文件夹测试
1、Linux 上测试 ftp IP
[root@srt_aliyun_39 ~]# ftp 120.xx.xx.xx
Connected to 120.xx.xx.xx (120.xx.xx.xx).
220 (vsFTPd 2.2.2)
Name (120.79.93.66:root): ftptest
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (120,xx,xx,xx,xx,81).
150 Here comes the directory listing.
226 Directory send OK.
ftp> pwd
257 "/var/ftp/test"
ftp> mkdir testdir
257 "/var/ftp/test/testdir" created
ftp> ls
227 Entering Passive Mode (120,xx,xx,xx,39,43).
150 Here comes the directory listing.
drwxr-xr-x 2 505 505 4096 Apr 12 10:00 testdir
226 Directory send OK.
可以看到在linux 上面测试没有问题,可以正常访问,并创建文件夹等。
2、浏览器上测试 ftp://ip
可以看到在浏览器上面测试也是ok,不过浏览器上面只能查看,和下载 不能上传。可以看到在Linux上测试时创建的那个目录
3、在windows上通过文件夹访问测试(说明:这里就得配置配置了,不然会报各种各样的错,因为我们服务器使用的是被动模式,那么同样的道理,客户端也得使用被动模式去连接服务端。) ftp://ip
选择 控制面板 > 网络和Internet > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,勾选 使用被动 FTP。
可以看到 进去后默认同样看到了在linux上面创建的 testdir目录, 并且还新建了一个windir目录。
4、再次回到服务器查看,也可以看到上面测试创建的文件,被动模式就OK了。
# ls /var/ftp/test/
testdir windir
Linux-ftp服务搭建的更多相关文章
- linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)
FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...
- 打开Linux ftp服务,如:vsftpd: unrecognized service
打开Linux ftp服务,如:vsftpd: unrecognized service [root@BZXXDBS02 ~]# service vsftpd start vsftpd: unre ...
- Linux 邮件服务搭建
Linux 邮件服务搭建 邮件服务针对,在大型企业使用的比较多,一般小型企业都会买一些邮件服务,或者使用一些免费的邮件服务,达到我们使用的需求,并且不需要自己维护,下面我就来简单安装一下两个邮箱的案例 ...
- linux下FTP服务搭建(1)
1.FTP介绍: FTP (File Transfer Protocol,文件传输协议)主要用来文件传输,尤其适用于大文件传输,提供上传下载功能 FTP官方网站:https://filezilla-p ...
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FT ...
- FTP服务搭建与配置
FTP介绍 大企业用的基本都是自动化发布工具,会用GIT企业发布的版本上传到服务器, 使用vsftpd搭建ftp服务(上) http://blog.csdn.net/qq_26941173/artic ...
- linux ftp服务
1 安装ftp服务 [root@localhost ~]# yum install vsftpd 启动:service vsftpd start 查看状态:systemctl |grep vsftpd ...
- Linux FTP服务器搭建与使用
一.vsftpd说明 LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd. 访问F ...
- Linux: FTP服务原理及vsfptd的安装、配置
1.FTP 服务的安装# yum install -y vsftpd [root@rusky pub]# ls -l /etc/vsftpd/ total 20 -rw-------. 1 root ...
- Linux FTP服务安装和远程登录失败
问题:本机VPlayer安装pure-ftpd ftp服务,通过flashfxp从windows连接出现以下错误: [左] 正在连接到 vmare -> IP=192.168.174.133 ...
随机推荐
- webservice创建、部署和调用
webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 下面通过一个简单的例子来创建一个webservice,用的是vs2010开发工具 首先创建一个web应用程序 接着我们添 ...
- .net简介(一)
什么是.NET 微软的开发平台,包含规范.编程语言.标准类.工具等.一般认为.net就是微软的软件开发技术.同时微软的所有产品也提供.NET类型的API. .NET概览 .net的组成: 开发语言,遵 ...
- headfirst设计模式(5)—工厂模式体系分析及抽象工厂模式
先编一个这么久不写的理由 上周我终于鼓起勇气翻开了headfirst设计模式这本书,看看自己下一个设计模式要写个啥,然后,我终于知道我为啥这么久都没写设计模式了,headfirst的这个抽象工厂模式, ...
- spring boot拦截器中获取request post请求中的参数
最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取 ...
- 观察者模式 Observer 发布订阅模式 源 监听 行为型 设计模式(二十三)
观察者模式 Observer 意图 定义对象一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都得到通知并自动更新. 别名:依赖(Dependents),发布订阅(Publish-Su ...
- SpringBoot JPA(实现查询多值)
JPA是java Persistence API简称,中文名:java持久层API,JPA是JCP组织发布的J2EE标准之一 1.创建DataSource连接池对象 <dependency> ...
- html和css的使用方法以及样式
布局步骤 第一步: 清除默认样式第二步: 划分模块第三步: 设置模块的大小以及位置第四步: 划分下一级模块 html和css 引入网页头像 <link rel="shortcut ic ...
- cesium 之三维漫游飞行效果实现篇(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- 【广州.NET社区线下活动】云定未来 - Azure Meetup
第2届 广州.NET线下沙龙 Azure Meetup 4月13日,第2届广州.NET线下沙龙在广州银行大厦7楼中创学院路演大厅成功举办.来自微软MVP.网易的技术专家们带来了干货满满的知识分享,即使 ...
- 使用GDB调试Android Native 层代码
--------------步骤:0. adb root0. adb shell0. ps | grep browser1. gdbserver :5039 --attach pid2. adb fo ...