阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd

ECS服务器Linux CentOs7.6安装配置vsftpd

  • 步骤一:安装vsftpd
    • 1.远程连接并登录到 Linux 实例。
    • 2.运行命令yum install -y vsftpd安装 vsftpd。出现下图表示安装成功。
    • 3.运行以下命令进入/etc/vsftpd目录,并查看该目录下的文件。
    • 4.运行以下命令设置FTP服务开机自启动。
    • 5.运行以下命令启动 FTP 服务。
    • 6.运行以下命令查看 FTP 服务监听的端口。
  • 步骤二:配置vsftpd
    • 配置匿名用户上传文件权限
      • 1.修改/etc/vsftpd/vsftpd.conf。
      • 2.运行以下命令更改/var/ftp/pub目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。
    • 配置本地用户登录
      • 1.运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。
      • 2.运行以下命令修改ftptest 用户的密码。
      • 3.创建一个供FTP服务使用的文件目录。
      • 4.更改/var/ftp/test目录的拥有者为ftptest。
      • 5.输入命令vim /etc/vsftpd/vsftpd.conf打开vsftpd.conf配置文件并按键i进入编辑模式。
      • 6.修改vsftpd.conf配置文件。
      • 7.按Esc键退出编辑模式,然后按键:wq保存并退出文件。
      • 8.运行vim /etc/vsftpd/chroot_list命令创建chroot_list文件,并写入不受只可以访问其主目录限制的例外用户名单。
      • 9.按键Esc退出编辑模式,然后按键:wq保存并退出文件。
      • vsftpd.conf 的配置文件参数说明
        • 用户登录控制:
        • 用户权限控制:
  • 步骤三:设置安全组
    • 添加安全组规则的具体步骤
      • 1.在阿里云实力列表页面找到你的ECS服务器,点击实例ID/名称
      • 2.选择本实例安全组---》配置规则
      • 3.添加安全组规则
      • 4.添加端口21和授权对象,0.0.0.0/0 代表允许或拒绝所有IP的访问,设置时请务必谨慎。
  • 步骤四:客户端测试
    • FTP服务器为主动模式
    • FTP服务器为被动模式
    • 使用FileZilla来测试

步骤一:安装vsftpd

1.远程连接并登录到 Linux 实例。

阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第1张图片

2.运行命令yum install -y vsftpd安装 vsftpd。出现下图表示安装成功。

阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第2张图片

3.运行以下命令进入/etc/vsftpd目录,并查看该目录下的文件。

cd /etc/vsftpd
ls

在这里插入图片描述
说明:

  • /etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置文件。
  • /etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
  • /etc/vsftpd/user_list 是白名单文件,此文件里的用户允许访问 FTP 服务器。

4.运行以下命令设置FTP服务开机自启动。

systemctl enable vsftpd.service

5.运行以下命令启动 FTP 服务。

systemctl start vsftpd.service

6.运行以下命令查看 FTP 服务监听的端口。

netstat -antup | grep ftp
可以看到是21

步骤二:配置vsftpd

vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能。使用匿名访问,您无需输入用户名密码即可登录 FTP 服务器,但没有权限修改或上传文件。

介绍以下两种配置 vsftpd 的方法,并提供了相关的参数说明,您可以根据具体需要进行参考。

  • 配置匿名用户上传文件权限
  • 配置本地用户登录

配置匿名用户上传文件权限

匿名访问FTP服务器是一种不安全的访问模式,任何人无需密码验证就可以登录到FTP服务器,这种模式一般只用来保存不重要的公开文件,不推荐在生产环境中使用。如果您需要配置匿名用户上传文件的权限,可以参考以下步骤配置:

1.修改/etc/vsftpd/vsftpd.conf。

运行vim /etc/vsftpd/vsftpd.conf。
按i 键进入编辑模式。
将写权限修改为write_enable=YES。
将匿名上传权限修改为anon_upload_enable=YES。
按Esc键退出编辑模式,然后输入:wq保存并退出文件。
阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第3张图片

2.运行以下命令更改/var/ftp/pub目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。

chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service

配置本地用户登录

本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。

vsftpd 安装后默认只支持匿名访问 FTP 服务器,如果您试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 服务拒绝。您可以参考以下步骤配置 vsftpd 服务,以使用Linux账号和密码访问FTP服务器。

1.运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。

useradd ftptest

2.运行以下命令修改ftptest 用户的密码。

passwd ftptest

3.创建一个供FTP服务使用的文件目录。

mkdir /var/ftp/test

4.更改/var/ftp/test目录的拥有者为ftptest。

chown -R ftptest:ftptest /var/ftp/test

5.输入命令vim /etc/vsftpd/vsftpd.conf打开vsftpd.conf配置文件并按键i进入编辑模式。

6.修改vsftpd.conf配置文件。

FTP服务器可以配置为主动模式或被动模式。

  • 主动模式下,客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。配置FTP为主动模式的参数如下:
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#设置本地用户登录后所在的目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表,这些用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list

#配置其他参数
allow_writeable_chroot=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
  • 被动模式下,服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接受连接。在被动模式下,您需要配置服务端可以开启的数据端口范围。配置FTP为被动模式的参数如下:
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#设置本地用户登录后所在目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表,这些用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式
pasv_enable=YES
#FTP服务器公网IP
pasv_address=
#设置被动模式下,建立数据传输可使用port范围的最小值
pasv_min_port=port number
#设置被动模式下,建立数据传输可使用port范围的最大值
pasv_max_port=port number

#配置其他参数
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES

说明 建议您把端口范围设在比较高的一段范围内,比如50000-50010,有助于提高访问FTP服务器的安全性。

7.按Esc键退出编辑模式,然后按键:wq保存并退出文件。

8.运行vim /etc/vsftpd/chroot_list命令创建chroot_list文件,并写入不受只可以访问其主目录限制的例外用户名单。

说明 如果没有例外用户也必须要有 chroot_list文件,内容可为空。

9.按键Esc退出编辑模式,然后按键:wq保存并退出文件。

systemctl restart vsftpd.service

10.运行以下命令重启vsftpd服务。

systemctl restart vsftpd.service

vsftpd.conf 的配置文件参数说明

运行命令cat /etc/vsftpd/vsftpd.conf查看配置文件内容。

用户登录控制:

参数 说明
anonymous_enable=YES 接受匿名用户
no_anon_password=YES 匿名用户login时不询问口令
anon_root=(none) 匿名用户主目录
local_enable=YES 接受本地用户
local_root=(none) 本地用户主目录

用户权限控制:

参数 说明
write_enable=YES 可以上传(全局控制)
local_umask=022 本地用户上传文件的umask
file_open_mode=0666 上传文件的权限配合umask使用
anon_upload_enable=NO 匿名用户可以上传
anon_mkdir_write_enable=NO 匿名用户可以建目录
anon_other_write_enable=NO 匿名用户修改删除
chown_username=lightwiter 匿名上传文件所属用户名

步骤三:设置安全组

搭建好 FTP 站点后,您需要在实例安全组的入方向添加放行下列 FTP 端口的规则。

  • FTP 为主动模式时:端口21。
  • FTP
    为被动模式时:端口21,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。

    添加安全组规则的具体步骤

1.在阿里云实力列表页面找到你的ECS服务器,点击实例ID/名称

阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第4张图片

2.选择本实例安全组—》配置规则

阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第5张图片

3.添加安全组规则

阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第6张图片

4.添加端口21和授权对象,0.0.0.0/0 代表允许或拒绝所有IP的访问,设置时请务必谨慎。

阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第7张图片

步骤四:客户端测试

您可以通过 FTP 客户端或浏览器访问 FTP 服务器进行测试。本教程以windows自带的IE(Internet Explorer)浏览器为例,分别为您介绍 FTP 服务器配置为主动模式或被动模式时的访问步骤。

FTP服务器为主动模式

1.打开客户端的 IE 浏览器。
2.将浏览器设置为主动访问模式。选择 设置 > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,取消勾选 使用被动 FTP。
3.在地址栏中输入ftp://:FTP端口,例如:ftp://39.10.0.28:21。
这里可以查看自己云实例的公网IP信息,用公网IP地址。
4.在弹出的对话框中,输入用户名和密码,即可对 FTP 文件进行相应权限的操作。

FTP服务器为被动模式

1.打开客户端的 IE 浏览器。
2.将浏览器设置为被动访问模式。选择 设置 > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,勾选 使用被动 FTP。
3.在地址栏中输入ftp://:FTP端口,例如:ftp://39.10.0.28:21。
4.在弹出的对话框中,输入用户名和密码,即可对 FTP 文件进行相应权限的操作。
说明 使用浏览器访问 FTP 服务器出错时,建议您清除浏览器缓存后再尝试。

使用FileZilla来测试

1.下载FileZilla软件
2.添加新的站点阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第8张图片
3.显示连接成功信息,并用“测试上传文件.txt”来作上传下载测试,可以看到能成功上传和下载。
阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第9张图片
阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd_第10张图片
参考地址:https://help.aliyun.com/document_detail/92048.html?spm=5176.11065259.1996646101.searchclickresult.333f3651X9l2gP#h2-url-2

你可能感兴趣的:(阿里云ECS服务器Linux CentOS7.6安装与配置vsftpd)