vsftp服务器

一、简介

VSFTP(Very Secure FTP)是一个安全、快速且稳定的 FTP(File Transfer Protocol,文件传输协议)服务器软件,它允许用户在计算机之间进行文件传输。VSFTP 的目标是提供一个易于配置和管理的 FTP 服务器,同时保持高度的安全性。

二、部署

安装 VSFTP

sudo yum install vsftpd	#使用 `yum` 包管理器安装 VSFTP:
vim /etc/vsftpd/vsftpd.conf
	anonymous_enable=YES	#启用匿名登录。
	local_enable=YES		#启用本地用户登录。
	write_enable=YE			#允许用户上传文件。
	chroot_local_user=YES	#将用户锁定在其家目录。
	local_umask=022			#上传文件的默认权限。

启动 VSFTP 服务并设置开机自启动:

systemctl start vsftpd
systemctl enable vsftpd

如果使用了防火墙(如 firewalld),确保打开 FTP 的相关端口(默认是 21):

firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd --reload

创建用户(可选)

如果你希望使用本地用户进行 FTP 访问,你需要创建一个专门用于 FTP 的用户:

useradd -m ftpuser  # 创建用户
passwd ftpuser      # 设置用户密码

设置用户家目录权限(可选)

如果你希望用户有权限访问特定目录,你需要确保该目录和其父目录的权限对用户可读、可执行:

chmod 755 /path/to/directory

三、vsftp配置文件说明

anonymous_enable=YES/NO
默认值:YES
说明:指定是否允许匿名用户登录。如果设置为 YES,则允许匿名用户登录;如果设置为 NO,则禁止匿名用户登录。

local_enable=YES/NO
默认值:YES
说明:指定是否允许本地用户登录。如果设置为 YES,则允许本地用户登录;如果设置为 NO,则禁止本地用户登录。

write_enable=YES/NO
默认值:YES
说明:指定是否允许用户上传文件。如果设置为 YES,则允许用户上传文件;如果设置为 NO,则只允许用户下载文件。

chroot_local_user=YES/NO
默认值:NO
说明:指定是否将用户锁定在其家目录。如果设置为 YES,则用户在 FTP 会话中的根目录将是其家目录,增加了安全性。

local_umask=022
默认值:022
说明:指定上传文件的默认权限掩码。默认的权限掩码是 022,表示新创建的文件权限是 644,新创建的目录权限是 755。

allow_writeable_chroot=YES/NO
默认值:NO
说明:指定是否允许在 chroot 环境中的用户修改他们的家目录。如果设置为 YES,则允许;如果设置为 NO,则禁止。

listen=YES/NO
默认值:YES
说明:指定是否启用 VSFTP 的独立模式。如果设置为 YES,VSFTP 将在独立模式下运行;如果设置为 NO,则将在标准模式下运行。

listen_ipv6=YES/NO
默认值:NO
说明:指定是否启用 IPv6 支持。如果设置为 YES,则启用 IPv6 支持;如果设置为 NO,则禁用 IPv6 支持。

userlist_enable=YES/NO
默认值:NO
说明:指定是否启用用户列表(userlist)功能。如果设置为 YES,则用户列表功能将被启用。

userlist_file=/etc/vsftpd/user_list
默认值:/etc/vsftpd/user_list
说明:指定用户列表文件的路径。用户列表文件包含了被允许或被禁止登录的用户名列表。

userlist_deny=YES/NO
默认值:YES
说明:指定是否拒绝用户列表中的用户登录。如果设置为 YES,则用户列表中的用户将被禁止登录;如果设置为 NO,则用户列表中的用户将被允许登录。

ftpd_banner=Welcome to My FTP Server
默认值:Welcome to blah FTP service.
说明:指定用户连接到 FTP 服务器时显示的欢迎信息。