云服务器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 服务器。

  1. 创建一个测试账号 ftptest 并设置一个密码

    # useradd ftptest
    # echo "ftptest@123" |passwd --stdin ftptest
  2. 创建一个供 FTP 服务使用的文件目录
    # mkdir /var/ftp/test
  3. 更改 /var/ftp/test 目录的拥有者为 ftptest
    # chown ftptest:ftptest /var/ftp/test -R
  4. 修改配置文件前先进行备份一下
    # cp /etc/vsftpd/vsftpd.conf{,.bak}
  5. 修改 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
  6. 启动 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服务搭建的更多相关文章

  1. linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)

    FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...

  2. 打开Linux ftp服务,如:vsftpd: unrecognized service

    打开Linux ftp服务,如:vsftpd: unrecognized service   [root@BZXXDBS02 ~]# service vsftpd start vsftpd: unre ...

  3. Linux 邮件服务搭建

    Linux 邮件服务搭建 邮件服务针对,在大型企业使用的比较多,一般小型企业都会买一些邮件服务,或者使用一些免费的邮件服务,达到我们使用的需求,并且不需要自己维护,下面我就来简单安装一下两个邮箱的案例 ...

  4. linux下FTP服务搭建(1)

    1.FTP介绍: FTP (File Transfer Protocol,文件传输协议)主要用来文件传输,尤其适用于大文件传输,提供上传下载功能 FTP官方网站:https://filezilla-p ...

  5. CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FT ...

  6. FTP服务搭建与配置

    FTP介绍 大企业用的基本都是自动化发布工具,会用GIT企业发布的版本上传到服务器, 使用vsftpd搭建ftp服务(上) http://blog.csdn.net/qq_26941173/artic ...

  7. linux ftp服务

    1 安装ftp服务 [root@localhost ~]# yum install vsftpd 启动:service vsftpd start 查看状态:systemctl |grep vsftpd ...

  8. Linux FTP服务器搭建与使用

    一.vsftpd说明 LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd. 访问F ...

  9. Linux: FTP服务原理及vsfptd的安装、配置

    1.FTP 服务的安装# yum install -y vsftpd [root@rusky pub]# ls -l /etc/vsftpd/ total 20 -rw-------. 1 root ...

  10. Linux FTP服务安装和远程登录失败

    问题:本机VPlayer安装pure-ftpd  ftp服务,通过flashfxp从windows连接出现以下错误: [左] 正在连接到 vmare -> IP=192.168.174.133 ...

随机推荐

  1. LIS3DH三轴加速度计-实现欧拉角(俯仰角,横滚角)

    1. LIS3DH管脚定义 PS:LIS3DH和mpu6050的X和Y方向是相反的, mpu6050如下图所示: 2.LIS3DH加速度计介绍 由于LIS3DH只可以得到XYZ加速度,无法获取角速度, ...

  2. Java高阶语法---transient

    背景:听说transient Java高阶语法是挺进BAT必经之路. transient: Java中transient 关键字的作用,简单的说就是让某些被修饰的成员属性变量不被序列化. 这又扯到了序 ...

  3. AngularJS实现的自定义过滤器简单示例

    本文实例讲述了AngularJS实现的自定义过滤器.分享给大家供大家参考,具体如下: 1.自定义限制字数的过滤器 啥也不说了直接上代码吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  4. flex 圣杯布局

    基本思路 圣杯布局分为3段:上.中.下.  中段被分为:左.中.右3块. 1:采用flex布局时,先把弹性容器主轴设置为垂直方向(flex-direction:column) 2:上.中.下3块弹性项 ...

  5. window模拟linux环境-cygwin安装

    cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用.通过它,你就可以在不安装linux的情况 ...

  6. AIDL使用以及原理分析

    AIDL使用以及IPC原理分析(进程间通信) 概要 为了大家能够更好的理解android的进程间通信原理,以下将会从以下几个方面讲解跨进程通讯信: 1. 必要了解的概念 2. 为什么要使用aidl进程 ...

  7. HttpClient 报错 Invalid cookie header, Invalid 'expires' attribute: Thu, 01 Jan 1970 00:00:00 GMT

    今天在给我姐夫写一个 QQ 自动加好友的程序,但是在 HttpClient 登陆 QQ 的时候报了一个错: -- ::] - Invalid cookie header: Jan :: GMT -- ...

  8. 基于FPM制作nginx RPM包

    目录 环境 配置 FPM安装 环境 系统 其它 CentOS 7.5 需提前配置好epel 配置 [root@localhost ~]# yum clean all && yum ma ...

  9. powershell-将powershell脚本排到JOB

    Program/script下填写“Powershell”,表示这个脚本会在powershell环境下运行 Add arguments(optional)填写脚本绝对路径名称 Start in(Opt ...

  10. kubernetes deployment升级和回滚

    a.创建deployment pod kubectl run mynginx --image=docker.io/nginx: --record 准备svc文件 apiVersion: v1 kind ...