yaoningvital / blog

my blog
31 stars 4 forks source link

Linux实例搭建FTP站点 #191

Open yaoningvital opened 4 years ago

yaoningvital commented 4 years ago

原文地址:https://help.aliyun.com/document_detail/86292.html?spm=5176.11065259.1996646101.searchclickresult.60ee1498xRyeX4&aly_as=hfDtuiPt

一、问题场景

我写了一个js的小游戏,想要放到服务器上,让别人也能访问到。于是,我买了一个阿里云服务器,买了一个域名。然后我想把小游戏打包之后的文件放到服务器上,然后别人就能访问到了。

关于怎样把打包之后的文件放到服务器上?

可以在服务器上装一个ftp工具(这里装的是 vsftpd),通过一系列的配置,然后在本地就可以通过 ftp 协议连接到服务器。通过拖拽文件就能直接将文件上传至服务器。

vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件,是一款在各个 Linux 发行版中最受推崇的 FTP 服务器软件。

我安装了vsftpd,然后确实在本地就连接上了 “ftp://XX.XX.XXX.XX/”,其中“XX.XX.XXX.XX”是实例公网IP,然后我就直接把文件拖进去了。如下图所示:

image

二、搭建FTP站点步骤

步骤一: 安装 vsftpd

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

说明: (1)远程连接我用的是 VNC 的方式。

2、运行以下命令安装 vsftpd。

yum install -y vsftpd

3、运行以下命令打开及查看etc/vsftpd。

cd /etc/vsftpd
ls

如下图所示: image

说明: (1)在根目录下运行安装命令,是安装到了 /etc/vsftpd 下。 (2)/etc/vsftpd/vsftpd.conf是核心配置文件。 (3)/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。 (4)/etc/vsftpd/user_list是白名单文件,是允许访问 FTP 服务器的用户列表。

4、运行以下命令设置开机自启动。

systemctl enable vsftpd.service

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

systemctl start vsftpd.service

6、运行以下命令查看 FTP 服务端口。

netstat -antup | grep ftp

image

步骤二: 配置 vsftpd

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

以下是几个配置 vsftpd 的方法以及相关的参数说明,您可以根据具体需要进行参考。

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

修改 vsftpd.conf 的配置文件的选项,可以赋予匿名 FTP 更多的权限。

1、修改/etc/vsftpd/vsftpd.conf:

  1. 运行vim /etc/vsftpd/vsftpd.conf

  2. i 键进入编辑模式。

  3. 将写权限修改为write_enable=YES

  4. 将匿名上传权限修改为anon_upload_enable=YES

  5. Esc 键退出编辑模式,然后输入 :wq 保存并退出文件。 image

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

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

配置本地用户登录

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

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

1、运行以下命令创建 ftptest 用户。

useradd ftptest

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

passwd ftptest

3、修改/etc/vsftpd/vsftpd.conf:

  1. 运行vim /etc/vsftpd/vsftpd.conf

  2. 按键 i 进入编辑模式。

  3. 将是否允许匿名登录 FTP 的参数修改为anonymous enable=NO

  4. 将是否允许本地用户登录 FTP 的参数修改为local_enable=YES

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

4、运行以下命令重新加载配置文件。

systemctl restart vsftpd.service

步骤三: 设置安全组

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

步骤四: 客户端测试

打开客户端的 计算机,在路径栏输入ftp://服务器 IP 地址:FTP 端口 (如果不填端口则默认访问21端口),例如:ftp://0.0.0.0:20。弹出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对 FTP 文件进行相应权限的操作。

说明: 客户端使用此方法访问 FTP 站点时,需要对 IE 浏览器进行设置,才能打开 FTP 的文件夹。 打开 IE 浏览器,选择 设置 > Internet 选项 > 高级。勾选 启用 FTP 文件夹视图,取消勾选 使用被动 FTP