ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ECS搭建FTP服务

2022-06-11 10:31:24  阅读:147  来源: 互联网

标签:FTP chroot etc vsftpd ECS conf YES 搭建


 

实验云账号,创建资源后生成收起
  • u-7ngohee5@1111971854401817
  • Jp1Ho5Aj5Ek5Yx1P
  • LTAI5tGc6fVMJj44H49MauRP
  • ytjwdQs1kCL6MqeTYjNLCkGLIu9zjq
ECS服务器 弹性IP: 101.133.144.222 私有地址: 172.16.1.15 用户: root 密码: Dd7Ch9Pf9Ws4 实例: i-uf6i7k7oqyxw04pxokct 实例名: u-7ngohee5 地域: 华东 2 (上海)

 

yum install -y vsftpd

  

 

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

systemctl enable vsftpd.service

  启动FTP服务。

systemctl start vsftpd.service

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

netstat -antup | grep ftp

  

 

 

出现如下图所示界面,表示FTP服务已启动,监听的端口号为 21。此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。

 

 配置vsftpd

vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。

说明: 匿名用户模式和本地用户模式只可同时配置一种。

匿名用户模式

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

vim /etc/vsftpd/vsftpd.conf

  

按 i 键进入编辑模式,将匿名上传权限 anon_upload_enable=YES 的注释解开。

 

 

2. 按ESC键退出编辑模式,输入:wq 保存并退出vim。

3. 更改/var/ftp/pub目录的权限,为FTP用户添加写权限。

chmod o+w /var/ftp/pub/

  4. 重启FTP服务。

systemctl restart vsftpd.service

 

 

本地用户模式

1. 为FTP服务创建一个Linux用户。

adduser ftptest

为用户设置密码。

passwd ftptest

 

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

mkdir /var/ftp/test

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

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

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

配置FTP为主动模式请执行如下命令:

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录

配置FTP为被动模式请执行如下命令:

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录 

echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式 
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值

5. 在/etc/vsftpd目录下创建chroot_list文件,并在文件中写入例外用户名单。

#使用vim命令编辑chroot_list文件,添加例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。
vim /etc/vsftpd/chroot_list

说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空。

6. 重启FTP服务。

systemctl restart vsftpd.service

  

5. 配置安全组

搭建好FTP服务后,在ECS实例安全组的入方向添加规则并放行下列FTP端口。

说明: 大多数客户端位于局域网中,IP地址是经过转换的,因此ipconfig或ifconfig命令返回的IP不一定是客户端的真实公网IP地址。若后续客户端无法登录FTP服务器,请重新确认其公网IP地址。

1. 点击右侧 图标,返回虚拟桌面。 双击打开桌面 FireFox ESR浏览器,在RAM用户登录框中点击 下一步,复制 云产品资源 列表中 子用户密码 粘贴(lx shell粘贴快捷键ctrl+shift+v,其他地方粘贴是ctrl+v)到浏览器 RAM用户登录界面,即可登录当前子账号。

点击左上角菜单按钮

 

 

在展开的界面,找到云服务器ECS,点击进入ECS界面

 

 

 

2. 在左侧导航栏,单击专有网络VPC,再新页面点击云服务器安全组管理。

 

 

 

 

 

3. 选择需要配置的安全组,在操作列中,单击配置规则。

 

 

4. 选择安全组规则的规则方向,单击入方向>手动添加(快速添加)。具体配置如下图:

说明:

a. 0.0.0.0/0为允许所有IP地址访问,可以根据您本地公网IP地址或网段进行设置来增加安全性(浏览器中输入IP即可查看您本地IP地址)。

b. 为方便进行实验,当前端口范围开放所有端口,最好根据自身需求设置端口范围,例如ftp开放21端口,数据库开放3306端口等。

 

 

6. 客户端测试

FTP客户端、Windows命令行工具或浏览器均可用来测试FTP服务器。(此步骤仅适用于本地用户,匿名模式无需进行测试操作)

说明:使用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。

1. 打开Chrom浏览器,在地址栏中输入ftp://<FTP服务器公网IP地址>:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21。

2. 在弹出的对话框中,输入用户名和密码(第4节中配置的用户名和密码)。

3. 登录成功界面如下,此时可对FTP文件进行相应权限的操作。

 

 

标签:FTP,chroot,etc,vsftpd,ECS,conf,YES,搭建
来源: https://www.cnblogs.com/flyingsir/p/16365379.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有