使用ECS搭建FTP服务

使用ECS搭建FTP服务

目的

FTP可以用来访问服务器端的文件、传输效率高。

环境

CentOS x86

打开 vsftpd 服务

支持本地访问和匿名用户访问其中一种

  1. 安装
> yum install -y vsftpd
...
Installed:
  vsftpd.x86_64 0:3.0.2-27.el7                                                   
Complete!
  1. 启动FTP
> systemctl enable vsftpd.service
...
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

> systemctl start vsftpd.service
...
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
  1. 查看监听端口

    > netstat -antup | grep ftp
    tcp        0      0 0.0.0.0:21              0.0.0.0:*      ...
    tcp6       0      0 :::21                   :::*           ...        

配置vsftp

  • 匿名用户模式

    > vim /etc/vsftpd/vsftpd.conf
    ...
    anon_upload_enable=YES
    ...
    
    > chmod o+w /var/ftp/pub/
    systemctl restart vsftpd.service
  • 本地用户模式
> adduser ftptest
> passwd ftptest 
a********
> mkdir /var/ftp/test # FTP服务使用的文件夹
> chown -R ftptest:ftptest /var/ftp/test

主动模式

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 #设置本地用户登录后所在的目录
> vim /etc/vsftpd/chroot_list # 例外用户名单
> systemctl restart vsftpd.service

测试

浏览器访问 ftp://:21 进行文件操作

上一篇:ECS进阶线路D1-基于ECS搭建FTP服务


下一篇:MaxCompute Logview2.0 参数详解与常见问题