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 | 标准目录列表 | 无法查看目录内容 |