夏天/isummer

Sun of my life !Talk is cheap, Show me the code! 追风赶月莫停留,平芜尽处是春山~

博客园 首页 新随笔 联系 管理

一、vsftpd是什么?

  vsftpd 是very secure FTP daemon(服务)的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件。

   学习教程:https://www.bilibili.com/video/BV1qY411q7cV?spm_id_from=333.788.player.switch&vd_source=36c36e1967bbd22b307da6ff56b32575&p=2

 

 

二、搭建过程

1.查询vsftpd是否存在和安装成功

  出现以下信息,表示ubuntu系统没有安装vsftpd服务

2.安装vsftpd

sudo apt-get install vsftpd

 安装成功。 vsftpd is already the newest version  3.0.5

位置:

 whereis vsftpd
vsftpd: /usr/sbin/vsftpd /usr/share/man/man8/vsftpd.8.gz

版本:

vsftpd -version
vsftpd: version 3.0.5

查询状态:


● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset>
     Active: active (running) since Sun 2024-11-10 18:36:25 CST; 8min ago
   Main PID: 755836 (vsftpd)
      Tasks: 1 (limit: 18010)
     Memory: 856.0K
        CPU: 2ms
     CGroup: /system.slice/vsftpd.service
             └─755836 /usr/sbin/vsftpd /etc/vsftpd.conf

Nov 10 18:36:25 iZb*****xoZ systemd[1]: Starting vsftpd FTP server.>
Nov 10 18:36:25 iZb*******oZ systemd[1]: Started vsftpd FTP server.

开启vsftpd:

sudo service vsftpd start
没有反应,表示启动成功

重启vsftpd

sudo service vsftpd restart
没有反应,表示已经重启

停止:

 sudo service vsftpd stop
没有反应,vsftpd停止

 

 

3.1.配置防火强

sudo ufw allow OpenSSh

sudo ufw allow 20/tcp

sudo ufw allow 21/tcp

sudo ufw allow 40000:50000/tcp

sudo ufw enable

sudo ufw status

 

3.2配置vsftpd

  默认不允许匿名登录

  出于安全性,有一些用户不允许通过FTP登录,vsftpd将这些用户整理在 /etc/ftpusers中。这是FTP黑名单,所有被列入其中的用户都不能通过FTP登录进来。

# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody

修改vsftpd的配置文件:

 

 (默认)配置文件默认配置

  • 不允许匿名登录:anonymous_enable
  • 允许本地登录:local_enable=YES
  • 默认不允许匿名用户创建目录:注释#anon_mkdir_wirte_enable=YES
  • 默认:ftp-data连接的端口是20
  • 默认:session取消的时间是600秒:idle_session_timeout=600
  • 默认数据连接断开的时间是120秒:2分钟:data_connection_timeout=120
  • 默认登录的提示信息:ftpd_banner=welcome to blah FTP service
  • 默认注销了启动“不允许匿名邮件登录”的功能。如果启用,可以防止Dos攻击。

(1)修改:FTP用户只能访问home下的指定目录:为了防止本地FTP用户访问其家目录之外的文件,请更改chroot_local_user的值为YES

  作用:chroot:change root 确保其他用户登录后只能看到自己(自己用户名文件夹作为root)的主目录,而看不到其他墨路

(2)修改:启用上传功能:write_enalbe=YES修改为YES

(3)修改:允许匿名登录,这样可以测试连接是否正常。anonymous_enable=YES.

(4)允许FTP被动连接

vsftpd可以使用任何端口进行被动FTP连接。我们将指定端口的最小和最大范围,然后在防火墙中打开该范围。

将以下行添加到配置文件:

pasv_min_port=30000
pasv_max_port=31000

 

 (5)确保端口:20和21开启,

  其中: 端口21(FTP命令端口),端口20(FTP数据端口)和30000-31000(被动端口范围),请运行以下命令:

 (6)查看防火墙:

  如果您正在运行 UFW防火墙,则需要允许FTP通信。

sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp

  查看防火强状态:

sudo ufw disable  关闭防火墙 (或者把防火墙关掉)
sudo ufw enable  开启防火墙

-----------------------------------------
sudo ufw status   查看防火墙状态

Status: active

To                         Action      From
--                         ------      ----
20:21/tcp                  ALLOW       Anywhere
30000:31000/tcp            ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
20:21/tcp (v6)             ALLOW       Anywhere (v6)
30000:31000/tcp (v6)       ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

 

 

(4)创建FTP用户 sudo adduser ftpuser User123

    要测试我们的FTP服务器,我们将创建一个新用户。

sudo adduser FTPUserH

root@iZbp******oZ:/etc# sudo adduser --force-badname  FTPUserHAAA
Allowing use of questionable username.
Adding user `FTPUserH' ...
Adding new group `FTPUserH' (1000) ...
Adding new user `FTPUserH' (1000) with group `FTPUserH' ...
Creating home directory `/home/FTPUserH' ...
Copying files from `/etc/skel' ...
New password: FTPUserHAAA
Retype new password:FTPUserHAAA
passwd: password updated successfully Changing the user information for FTPUserH

 

 

(5)重启生效

sudo systemctl restart vsftpd

 

 

4.高级配置配置vsftpd

(2)修改:支持限制用户登录:

 

    https://www.myfreax.com/how-to-setup-ftp-server-with-vsftpd-on-ubuntu-20-04/

 

(2)修改:

(2)修改:

(2)修改:

启用上传功能:

(2)

 

posted on 2024-11-10 19:17  夏天/isummer  阅读(19)  评论(0编辑  收藏  举报