Linux实例搭建FTP站点

<p>步骤一:安装vsftpd</p> <p>步骤二:配置vsftpd</p> <p>步骤三:设置安全组</p> <p>步骤四:客户端测试</p> <p>vsftpd全称very secure FTP daemon,是一款在Linux发行版中使用较多的开源FTP服务器软件,具有小巧轻快、安全易用等特点。本文介绍Linux实例如何搭建FTP站点,以CentOS7.6-64Bit为例。</p> <p><span style="font-size:16px"><strong>操作步骤</strong></span></p> <p><span style="font-size:16px"><strong>步骤一:安装vsftpd</strong></span></p> <p>1.&nbsp; 登录<a href="https://pinganyun.com/ssr/help/compute/ecs/manual.Instance.Login_Linux_Instance.Console_Remote_Login" target="_blank">云服务器ECS</a>。</p> <p>2.&nbsp; 安装vsftpd,执行以下命令:</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>yum install -y vsftpd</strong></td> </tr> </tbody> </table> <p>显示如下信息,表示软件安装成功。</p> <p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20192507182233-159f0e7d9b4c.png" style="height:368px; width:830px" /></p> <p>3.&nbsp; 执行以下命令设置FTP服务开机自启动。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>systemctl enable vsftpd.service&nbsp;</strong></td> </tr> </tbody> </table> <p>4.&nbsp; 执行以下命令启动FTP服务。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>systemctl start vsftpd.service</strong></td> </tr> </tbody> </table> <p>5.&nbsp; 执行以下命令查看FTP服务端口。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>netstat -antup | grep ftp</strong></td> </tr> </tbody> </table> <p>&nbsp;</p> <p><span style="font-size:16px"><strong>步骤二:配置vsftpd</strong></span></p> <p>安装完vsftpd后,默认开启了匿名FTP的功能。使用匿名FTP,您无需输入用户名和密码即可登录FTP 服务器,但是没有修改或上传文件的权限,匿名访问FTP服务器不安全,这种方式一般只用来保持不重要的对外文件,不推荐在生产环境中使用。</p> <p>若您使用Linux操作系统中的账号登录服务器,会被vsftpd拒绝,您可以在vsftpd里配置用户账号和密码登录,以下操作介绍了在vsftpd 里配置用户账号和密码登录FTP服务器。</p> <p>1.&nbsp; 执行以下命令为FTP服务创建一个Linux用户。本例中用户名为ftptest。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>useradd ftptest</strong></td> </tr> </tbody> </table> <p>2.&nbsp; 执行以下命令并输入设置的ftptest用户的密码。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>passwd ftptest</strong></td> </tr> </tbody> </table> <p>3.&nbsp; 执行以下命令创建一个供FTP使用的文件目录,本例中为/var/ftp/test01。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>mkdir /var/ftp/test01</strong></td> </tr> </tbody> </table> <p>4.&nbsp; 执行以下命令将创建的文件目录所有者改为用于登录FTP的本地用户。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>chown -R ftptest:ftptest /var/ftp/test01</strong></td> </tr> </tbody> </table> <p>5.&nbsp; 修改vsftpd.conf的配置文件。</p> <p>a.&nbsp; 执行以下命令打开配置文件vsftpd.conf。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px"><strong>vi /etc/vsftpd/vsftpd.conf</strong></td> </tr> </tbody> </table> <p>b.&nbsp; 按i键进入编辑模式。</p> <p>c.&nbsp; &nbsp;修改打开的vsftpd.conf文件。</p> <p>您可根据实际业务需求将FTP配置为主动模式或者被动模式。</p> <ul> <li><strong>主动模式:</strong>客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口,参数如下:</li> </ul> <table border="1" cellpadding="0" cellspacing="0" style="width:801px"> <tbody> <tr> <td colspan="2" style="background-color:#ededed; vertical-align:top; width:797px"> <p>#设置以下参数,不允许匿名登录FTP服务器,允许本地用户登录FTP服务器,并指定FTP本地用户使用的文件目录。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>anonymous_enable=NO&nbsp;&nbsp;</p> </td> <td style="vertical-align:top; width:501px"> <p>#不允许匿名登录FTP服务器</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>local_enable=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>#允许本地用户登录FTP服务器</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>local_root=<strong>/var/ftp/test01</strong></p> </td> <td style="vertical-align:top; width:501px"> <p>#FTP本地用户登录后使用的文件目录</p> </td> </tr> <tr> <td colspan="2" style="background-color:#ededed; vertical-align:top; width:797px"> <p>#设置以下参数,限制用户只能访问自身的主目录。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>chroot_local_user=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>#所有用户被限制在主目录</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>chroot_list_enable=YES&nbsp;&nbsp;&nbsp;</p> </td> <td style="vertical-align:top; width:501px"> <p>#启用例外用户名单</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>chroot_list_file=/etc/vsftpd/chroot_list</p> </td> <td style="vertical-align:top; width:501px"> <p>#指定例外用户名单,这些用户没有被锁定在主目录</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>allow_writeable_chroot=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td colspan="2" style="background-color:#ededed; vertical-align:top; width:797px"> <p>#配置其他参数</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>local_umask=022</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>dirmessage_enable=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>xferlog_enable=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>connect_from_port_20=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>xferlog_std_format=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>listen=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>pam_service_name=vsftpd</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>userlist_enable=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>tcp_wrappers=YES</p> </td> <td style="vertical-align:top; width:501px"> <p>&nbsp;</p> </td> </tr> </tbody> </table> <ul> <li><strong>被动模式:</strong>服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接受连接。在被动模式下,您除了需要配置主动模式所需的所有参数外,还需要配置如下参数:</li> </ul> <table border="1" cellpadding="0" cellspacing="0"> <tbody> <tr> <td colspan="2" style="background-color:#ededed; vertical-align:top"> <p>#设置以下参数,配置FTP支持被动模式,并指定FTP服务器的公网IP地址和可供访问的端口范围,您可根据实际环境配置端口范围。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>listen=YES</p> </td> <td style="vertical-align:top"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>listen_ipv6=NO</p> </td> <td style="vertical-align:top"> <p>&nbsp;</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>pasv_address=xx.xx.xx.xx</p> </td> <td style="vertical-align:top"> <p>#FTP服务器的公网IP地址</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>pasv_min_port=port number</p> </td> <td style="vertical-align:top"> <p>#设置被动模式下的最小端口</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>pasv_max_port=port number&nbsp;</p> </td> <td style="vertical-align:top"> <p>#设置被动模式下的最大端口</p> </td> </tr> </tbody> </table> <p>d.&nbsp; 按Esc键退出编辑模式,输入<strong>:wq</strong>保存后退出。</p> <p>e.&nbsp; 在/etc/vsftpd/目录下创建chroot_list文件。</p> <p><strong>说明:</strong>chroot_list文件是限制在主目录下的例外用户名单,若您需要设置某个用户不受仅可以访问其主目录的限制,可将对应的用户名写入该文件,若没有例外也必须要有chroot_list文件,内容可以为空。</p> <p>6.&nbsp; 执行以下命令重启vsftpd服务使配置生效。</p> <table border="1" cellpadding="1" cellspacing="1" style="width:793px"> <tbody> <tr> <td style="background-color:#ededed; width:785px">service vsftpd restart</td> </tr> </tbody> </table> <p>&nbsp;</p> <p><span style="font-size:16px"><strong>步骤三:设置安全组</strong></span></p> <p>搭建好FTP站点后,需要在云服务器ECS实例安全组的入方向配置一条放行FTP端口的规则,可参考配置安全组规则。</p> <ul> <li><strong>FTP 为主动模式:</strong>端口21。</li> <li><strong>FTP 为被动模式:</strong>端口21,配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。</li> </ul> <p><span style="font-size:16px"><strong>步骤四:客户端测试</strong></span></p> <p>1.&nbsp; 打开客户端IE浏览器。</p> <p>2.&nbsp; 设置浏览器访问模式,选择<strong>设置</strong><strong>&nbsp;&gt;&nbsp;Internet </strong><strong>选项&nbsp;&gt;&nbsp;</strong><strong>高级</strong>,勾选<strong>启用</strong><strong>FTP </strong><strong>文件夹视图</strong>。若为主动访问模式,取消勾选<strong>使用被动</strong><strong> FTP</strong>;若为被动模式勾选<strong>使用被动</strong><strong> FTP</strong>。</p> <p>3.&nbsp; 在路径栏输入:<strong>ftp://FTP</strong><strong>服务器IP</strong><strong>地址:FTP</strong><strong>端口</strong>,例如:ftp:// 101.89.95.105:21。</p> <p><strong>说明:若</strong>不填端口信息,则默认访问21端口。</p> <p>4.&nbsp; 弹出输入用户名和密码的对话框,表示配置成功,输入正确的用户名和密码,即可对 FTP 文件进行相应权限的操作。</p>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

工单支持

解决云产品相关技术问题