FTP服务概述:
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。
FTP连接方式:
1.控制连接:标准端口为21,用于发送FTP命令信息
2.数据连接:标准端口为20,用于上传、下载数据
数据连接的建立类型:
1. 主动模式:服务端从20端口主动向客户端发起连接
2.被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接
FTP传输模式:
1.文本模式:ASCII模式,以文本序列传输数据
2.二进制模式:Binary模式,以二进制序列传输数据
FTP用户类型:
1.匿名用户 anonymous或ftp
2.本地用户 账号名称、密码等信息保存在passwd 和 shadow 文件中
3.虚拟用户 使用独立的账号/密码数据文件
常见的FTP服务器程序
IIS Serv-u wu-ftpd proftpd vsftpd
常见的FTP客户端程序
cuteFTP FlashFXP LeapFTP Filezilla
测试环境
VMware 7.1 rhel 5.5
构建基于虚拟用户的vsftpd服务器的步骤:
1.建立虚拟FTP用户的帐号数据库文件
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
6.重新加载vsftpd配置
7.使用虚拟FTP账户访问测试
安装vsftpd软件包
建立虚拟FTP用户的账号数据文件。
往login.list文件中加入用户。
注意:上面为用户名下面为密码。
生成数据库文件
生成数据库文件时,首先安装db4-utils-*****************.rpm
将帐号文件的权限设置为600,可以有效提高安全性
#chmod 600 virtual.list
创建FTP根目录及虚拟用户映射的系统用户并给予755的权限
#chmod 755 /var/ftproot
建立支持虚拟用户的PAM认证文件。。
##############################################
并加入如下内容
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/virtual
account required pam_userdb.so db=/etc/vsftpd/virtual
##############################################
添加对虚拟用户的支持配置
#vim /etc/vsftpd/vsftpd.conf
加入如下内容
guest_enable=YES
guest_username=virtual
将anonymous_enable=NO
pam_service_name=vsftpd.vu
重启测试登陆。
windows 测试登陆。
为个别用户建立独立的配置文件:
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir
为用户mike、john建立独立的配置目录及文件
配置文件名与用户名同名
完毕!
转载于:https://blog.51cto.com/reachlee/332703