目录
什么是VSFTP?
vsftpd(Very Secure FTP Daemon)是一种用于类Unix系统的FTP服务器软件。它以其安全性、稳定性和高性能著称,是许多Linux发行版的默认FTP服务器。以下是vsftpd的一些主要特点:
安全性:vsftpd设计时考虑了安全性,提供了许多安全特性,例如chroot jail(将用户限制在其主目录内),以防止用户访问系统的其他部分。
高性能:vsftpd以其高性能和低资源消耗而闻名,能够处理大量并发连接。
可配置性:vsftpd提供了丰富的配置选项,管理员可以通过配置文件来精细控制服务器的行为。
支持虚拟用户:vsftpd支持虚拟用户,允许管理员为每个用户设置不同的权限和配额,而无需为每个用户创建系统账号。
支持IPv6:vsftpd完全支持IPv6协议,适应现代网络环境的需求。
集成SSL/TLS:vsftpd支持SSL/TLS协议,可以加密FTP会话,确保数据传输的安全性。
一、实验目的
- 熟悉FTP服务的工作原理。
- 学会构建匿名FTP服务器。
- 学会构建用户验证的FTP服务器。
二、实验内容
1. 安装FTP服务
首先,我们需要使用yum安装vsftpd服务。
yum -y install vsftpd
2. 查看FTP默认配置参数
接下来,查看vsftpd的默认配置参数:
grep -v "^#" /etc/vsftpd/vsftpd.conf
3. 设置匿名FTP配置项
编辑vsftpd配置文件:
vim /etc/vsftpd/vsftpd.conf
添加以下内容:
anon_umask=022
anon_root=/var/ftp
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=0
保存并退出。
4. 配置匿名用户访问权限
为了使匿名用户能够写入/var/ftp/pub目录,我们需要修改目录的属主和权限:
chown ftp /var/ftp/pub
chmod a-w /var/ftp/
启动vsftpd服务:
systemctl start vsftpd
netstat -anpt|grep "vsftpd"
5. 设置访问安全
为了方便测试,可以暂时关闭防火墙和SELinux:
systemctl stop firewalld
setenforce 0
在物理机访问共享,打开资源管理器并在地址栏输入ftp://[服务器的ip地址]
,确认可以打开文件夹并建立子文件夹。
6. 设置用户验证的FTP服务器
编辑vsftpd配置文件,修改以下内容:
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
7. 用户访问FTP
重启vsftpd服务:
systemctl restart vsftpd
创建新用户:
useradd lisi
passwd lisi
在测试机上打开资源管理器,访问ftp://[服务器的ip地址]
,输入账号和密码,确认可以打开文件夹并建立子文件夹。
8. 设置白名单用户访问
编辑user_list文件,添加用户:
vim /etc/vsftpd/user_list
zhangsan
lisi
编辑vsftpd配置文件,添加和修改以下内容:
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=NO
重启vsftpd服务:
systemctl restart vsftpd
9. 测试白名单用户访问
使用非白名单用户(如abc),验证无法访问:
useradd abc
passwd abc
在测试机上打开资源管理器,访问ftp://[服务器的ip地址]
,输入abc用户和密码,确认不能打开远程窗口和建立新文件夹。
使用白名单用户(如zhangsan),验证可以访问:
useradd zhangsan
passwd zhangsan
在测试机上打开资源管理器,访问ftp://[服务器的ip地址]
,输入zhangsan用户和密码,确认可以打开远程窗口和建立新文件夹。
实验结束