vsftp的三种登录身份测试
1. 匿名用户登录
- 实验准备:需要两台虚拟机,一台作为服务器(test01),另一台作为客户端(test02)。
- 服务器配置:关闭防火墙和SELinux,安装vsftpd服务,配置文件位于
/etc/vsftpd/vsftpd.conf
。 - 客户端配置:安装ftp客户端。
权限控制
- 匿名用户默认登录路径是服务器的
/var/ftp
目录。 - 匿名用户通常只能下载,无法上传。如需允许上传,需在
vsftpd.conf
中设置anon_upload_enable=YES
并调整目录权限。
配置调整
- 设置
anon_umask=022
以解决匿名用户上传文件后,其他用户无法下载的问题。 - 测试步骤:
- 确保防火墙和SELinux设置为宽松模式。
- 使用ftp客户端连接到服务器,用户名为
ftp
,密码留空。 - 使用
help
或?
查看可用命令。 - 检查匿名用户是否有上传权限,配置
anon_upload_enable=YES
2. 本地用户登录
- 实验准备:服务器上创建本地用户,客户端使用这些用户的凭据登录FTP。
权限控制
- 通过vsftpd配置,可以限制本地用户在自己的家目录操作,或允许部分用户切换目录。
- 可以在
vsftpd.conf
中设置chroot_local_user=YES
来禁锢用户在自己的家目录。 - 测试步骤
- 创建本地用户,例如
testuser
。 - 使用ftp客户端连接,输入本地用户名和密码。
- 验证用户是否被限制在其家目录中,配置
chroot_local_user=YES
。
- 创建本地用户,例如
3. 虚拟用户登录
- 登录原理:需要在服务器端创建本地用户,生成数据库文件,将这些用户作为虚拟用户的映射,每个虚拟用户的权限可以单独指定。
配置步骤
- 创建虚拟用户数据库文件。
- 为虚拟用户创建映射用户(本地用户)。
- 创建支持虚拟用户的PAM认证文件,并添加配置。
配置文件
- 修改
/etc/vsftpd/vsftpd.conf
配置文件,启用虚拟用户支持。 - 为虚拟用户创建独立的配置文件和家目录,并设置适当的权限。
- 测试步骤:
- 创建虚拟用户数据库文件。
- 为虚拟用户创建映射的本地用户。
- 修改vsftpd配置文件以启用虚拟用户支持。
- 为虚拟用户创建独立的配置文件和家目录。
FTP传输加密(使用openssl)
实验准备
- 一台虚拟机(test01)配置为vsftp服务器和CA服务器,安装并配置openssl和vsftp。
- 另一台虚拟机(test02)或Windows系统作为FTP客户端。
步骤
- 使用openssl生成秘钥和证书。
- 使用证书文件颁发签字后的证书。
- 修改vsftpd配置,使其能识别和调用openssl。
- 重启vsftp服务,使用客户端登录测试。
注意事项
- Linux客户端访问FTP时可能会报错,因为标准的ftp命令行工具不支持加密访问。
- 在Windows上使用第三方FTP客户端工具可以进行加密访问测试。
- 使用tcpdump抓包可以监控到所有信息都是加密的,无法获取明文的用户名和密码。
总结
- 掌握
ifconfig
、hostname
、ping
等网络命令的使用。 - 熟悉vsftp的安装和配置方法。
- 完成本章vsftp相关的所有案例,并记录笔记。
- 查询资料,了解在Windows系统中部署FTP服务器的方法,例如使用serv-u。
请注意,上述笔记是根据您提供的PPT内容整理的,实际操作时可能需要根据具体环境和配置进行调整。