vsftpd (Very Secure FTP Daemon) 是 Linux 下常用的 FTP 服务器软件,以安全和高性能著称。

一、安装 vsftpd

1. 安装软件包

# Ubuntu/Debian
sudo apt update
sudo apt install vsftpd# CentOS/RHEL
sudo yum install vsftpd

2. 启动服务并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

二、基本配置

编辑主配置文件 /etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

常用配置选项

# 禁止匿名登录
anonymous_enable=NO# 允许本地用户登录
local_enable=YES# 允许写入
write_enable=YES# 本地用户创建文件的umask
local_umask=022# 禁止用户离开其主目录(需配合chroot)
chroot_local_user=YES
allow_writeable_chroot=YES# 被动模式设置
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=41000# 日志设置
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES# 限制用户列表
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO  # 仅允许列表中的用户,YES则是禁止列表中用户登录

三.禁止下载和查看

在 /etc/vsftpd.conf 中添加:

cmds_denied=RETR,REST,MLSD,MLST,NLST,STAT,LIST
download_enable=NO
dirlist_enable=NO

命令

功能描述

禁止后的效果

RETR

下载文件

无法下载任何文件

REST

断点续传

无法继续未完成的下载

MLSD

现代目录列表

无法获取详细目录信息

MLST

单个文件信息

无法查看文件属性

NLST

简单目录列表

无法获取文件名列表

STAT

服务器状态

无法查看服务器/文件状态

LIST

标准目录列表

无法查看目录内容