天天看点

基于ECS搭建FTP服务

远程连接ECS服务器

打开Windows Terminal,输入命令连接服务器

ssh 用户名@ip地址           

再输入密码登入服务器

安装vsftpd

运行以下命令安装

vsftpd

yum install -y vsftpd           

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

systemctl enable vsftpd.service           

启动FTP服务

systemctl start vsftpd.service           

运行命令查看FTP服务将他的端口

netstat -antup | grep ftp           
基于ECS搭建FTP服务

配置vsftpd 1

匿名用户模式

使用vim修改配置文件

vsftpd.conf

vim /etc/vsftpd/vsftpd.conf           

按下

i

Insert

键进入编辑模式,将

anon_upload_enable=YES

行的注释去掉

基于ECS搭建FTP服务

Esc

键退出编辑模式,输入

:wq

保存并退出 vim

更改

/var/ftp/pub

目录的权限,为FTP用户添加写权限

chmod o+w /var/ftp/pub/           

重启FTP服务

systemctl restart vsftpd.service           

打开Chrome或资源管理器,输入地址

ftp://ip地址:21           
基于ECS搭建FTP服务

本地用户模式

为FTP服务创建一个Linux用户

adduser 用户名

adduser ftpuser           

为刚创建的用户设置密码

passwd 用户名

passwd ftpuser           
基于ECS搭建FTP服务

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

mkdir /var/ftp/share           

/var/ftp/share

目录的拥有者为

ftpuser

chown -R ftpuser:ftpuser /var/ftp/share           

修改

vsftpd.conf

配置文件

  • 主动模式
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/share" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录           
  • 被动模式
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/share" >> /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 #设置被动模式下,建立数据传输可使用的端口范围的最大值           

/etc/vsftpd

目录下创建

chroot_list

2

文件,并在文件中写入例外用户名单

vim /etc/vsftpd/chroot_list           
systemctl restart vsftpd.service           

访问服务器输入,用户名密码登录

基于ECS搭建FTP服务

最后成果如下

基于ECS搭建FTP服务
  1. 匿名用户模式和本地用户模式只可同时配置一种
  2. 没有例外用户时,也必须创建chroot_list文件,内容可为空

继续阅读