Ubuntu搭建FTP服务器配合FileZilla上传

Ubuntu搭建FTP服务器配合FileZilla上传

耀鳞光翼 Lv3

一、安装:

  1. 使用apt-get工具安装
    1
    sudo apt-get install vsfptd
  2. 查看FTP端口和状态
    检查21号端口是否开启
    1
    netstat -tnl
    检查端口
    检查端口

    检查vsftpd的服务状态是否激活
    1
    service vsftpd status
    检查服务状态
    检查服务状态

    开启,停止,重启vsftpd的相关命令:
    1
    service vsftpd start | stop | restart 

二、配置

修改配置文件

1
sudo vi /etc/vsftpd.conf

主要配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
listen=YES                 # 服务器监听  
listen_ipv6=NO # 关闭ipv6通信,因为大部分机器上可能不支持
anonymous_enable=NO # 匿名访问允许,默认不要开启,
local_enable=YES # 开启允许本地用户访问
write_enable=YES # 是否允许上传文件,不开启会报 550 permission denied local_umask=022 # 开启FTP上本地的文件权限,默认是022
#(有关匿名访问,上传,写入,创建目录默认是注释掉的,不建议开启)
#anon_upload_enable=YES # 匿名上传允许,默认是NO
#anon_mkdir_write_enable=YES # 匿名创建文件夹允许
dirmessage_enable=YES # 开启进入文件夹允许
use_loacltime=YES # 使用本地时间(默认开启)
xferlog_enable=YES # ftp 日志记录允许
connect_from_port_20=YES # 启用20号端口作为数据传送的端口
配置文件末尾添加被动访问模式
#开启被动模式
pasv_enable=YES
#被动模式端口范围
pasv_min_port=6000
pasv_max_port=6010
#需要加入外部ip,否则被动模式会失败
pasv_address=服务器公网ip
pasv_addr_resolve=YES

注意:开启被动访问后,需要在阿里云控制台防火墙打开6000-6010端口范围

用户访问控制:

在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下配置文件来控制用户切换目录。

1
2
3
4
chroot_local_user=YES      # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。 
chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_file=/etc/vsftpd.chroot_list # (vsftpd.chroot_list需要自己创建)
#禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
1
2
3
4
5
不同搭配可以控制不同效果:
(1).当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中的用户,可以切换到其他目录;未在文件中的用户,不能切换到其他目录。
(2).当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中的用户,不能切换到其他目录;未在文件中的用户,可以切换到其他目录。
(3).当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
(4).当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

重启vsftpd服务:

修改完配置文件后,一定要重启生效
sudo service vsftpd restart

FTP添加用户:

这里以控制效果(1)为例子:通过白名单控制

  1. 添加用户:
  • 先创建ftp的操作目录
    mkdir -p /路径1/目录名
  • 创建属于这个目录的用户:
    sudo useradd -g ftp -d /路径1/目录名 -m 自定义用户名
    (注:g:用户所在的组 d:表示创建用户的自己目录的位置给予指定 m:不建立默认的自家目录,也就是说在/home下没有自己的目录)
  • 设置用户密码:
    sudo passwd 用户名,输入两次密码确认
  • 创建白名单vsftpd.chroot_list:
    vim /etc/vsftpd.chroot_list,输入自己创建的用户名
  • 给上传文件夹赋权限:
    chmod 777 /路径1/目录名
    重启服务,使配置生效
  1. 删除用户:
    如果创建用户过程中出现问题,可以删除用户:
    sudo userdel 用户名

卸载vsftp

如果不再使用或者配置混乱,需要从头再来,可以全部移除vsftpd
sudo apt-get remove --purge vsftpd
(–purge 选项表示彻底删除改软件和相关文件)

FileZilla的配置访问:

打开filezilla软件:

  • 主机名:服务器公网ip

  • 用户名:之前新建的自定义用户

  • 密码:设置的用户密码

  • 端口:默认21号

    配置访问
    配置访问

  • 标题: Ubuntu搭建FTP服务器配合FileZilla上传
  • 作者: 耀鳞光翼
  • 创建于 : 2022-04-27 14:26:13
  • 更新于 : 2024-11-14 12:16:05
  • 链接: https://blog.lightwing.top/2022/04/27/filezilla/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论