1. 主动与被动模式
1) 主动模式(PORT方式)
连接过程为:客户端向服务器FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路.当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:我打开了XX端口,你过来连接我,于是服务器从20号端口向客户端的XX端口发送连接请求,建立一条数据链路来传送数据.
2) 被动模式(PASV方式)
连接过程为:客户端向服务器FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路.当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:我打开了XX端口,你过来连接我,于是客户端向服务器的XX端口发送连接请求,建立一条数据链路来传送数据.
2. 安装
1) 查看是否安装
打开命令行,输入rpm -q vsftpd,出现:
Ø 已经安装
Ø 还没安装
2) 安装
Ø 载入光盘
Ø 设置光盘
单击虚拟机右下角的光盘图标,选择Settings,在Device status中将Connected勾选,在Connection中选择Use ISO image file,然后单击Browse选择Linux的安装包,单击OK
Ø 安装
安装完成
3. 文件结构与配置文件
1) 文件结构
配置文件名
|
功能
|
/usr/sbin/vsftpd
|
vsftpd的主程序
|
/etc/rc.d/init.d/vsftpd
|
启动脚本
|
/etc/vsftpd/vsftpd.conf
|
主配置文件
|
/etc/pam.d/vsftpd
|
PAM认证文件
|
/etc/vsftpd.ftpusers
|
禁止使用vsftpd的用户列表文件
|
/etc/vsftpd.user_list
|
禁止或允许使用vsftpd的用户列表文件
|
/var/ftp
|
匿名用户主目录
|
/var/ftp/pub
|
匿名用户的下载目录
|
/etc/logrotate.d/vsftpd.log
|
vsftpd的日志文件
|
2) 配置文件
Ø 查看
以#号开头的为注释,这里把非配置参数注释都去掉了
Ø 参数含义
参数
|
含义
|
anonymous_enable=YES
|
是否允许使用匿名账户
|
local_enable=YES
|
是否允许本地用户登录
|
write_enable=YES
|
是否允许写入
|
local_umask=022
|
本地umask值为022
|
#anon_upload_enable=YES
|
匿名用户是否可上传文件
|
#anon_mkdir_write_enable=YES
|
匿名用户是否可建立目录
|
dirmessage_enable=YES
|
进入每个目录显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息
|
xferlog_enable=YES
|
上传/下载文件时记录日志
|
connect_from_port_20=YES
|
是否使用20端口传输数据(是否使用主动模式)
|
#chown_uploads=YES
|
修改匿名用户上传的文件,文件的拥有者
|
#chown_username=whoever
|
#xferlog_file=/var/log/xferlog
|
日志文件
|
xferlog_std_format=YES
|
使用标准文件日志
|
#idle_session_timeout=600
|
会话超时,客户端连接到ftp但未操作
|
#data_connection_timeout=120
|
数据传输超时
|
#nopriv_user=ftpsecure
|
指定vsftpd服务的运行帐户,不指定时使用ftp
|
#async_abor_enable=YES
|
是否允许客户端使用sync等命令
|
#ascii_upload_enable=YES
|
是否允许上传/下载二进制文件
|
#ascii_download_enable=YES
|
#ftpd_banner=Welcome to blah FTP service.
|
登录提示语
|
#deny_email_enable=YES
|
拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户.即,当匿名用户使用banned_email_file文件中所列出的e-mail进行登录时,被拒绝.
|
#banned_email_file=/etc/vsftpd/banned_emails
|
#chroot_list_enable=YES
|
锁定登陆用户在其主目录,将用户名一个一行写在/etc/vsftpd/chroot_list文件里,使用此方法时chroot_local_user=YES
|
#chroot_list_file=/etc/vsftpd/chroot_list
|
#ls_recurse_enable=YES
|
是否允许使用ls -R等命令
|
listen=YES
|
开启ipv4监听
|
#listen_ipv6=YES
|
开启ipv6监听
|
pam_service_name=vsftpd
|
使用pam模块控制,vsftpd文件在/etc/pam.d目录下
|
userlist_enable=YES
|
与其他中userlist_deny=YES共同控制访问用户,详见userlist_deny=YES参数含义
|
tcp_wrappers=YES
|
是否允许tcp_wrappers管理
|
其他
|
listen_address=ip address
|
指定侦听IP
|
listen_port=port_value
|
指定侦听端口,默认21
|
chroot_local_user=YES
|
限制所有的本地用户在自家目录
|
userlist_deny=YES
|
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器.此选项在userlist_enable选项启动后才生效.YES为默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示.NO表示只允许在文件中的用户登录FTP服务器
|
local_root=/home/ftp
|
所有用户的根目录,对匿名用户无效
|
anon_max_rate=value
|
匿名用户的最大传输速度,单位是Byts/s
|
local_max_rate=value
|
本地用户的最大传输速度,单位是Byts/s
|
download_enable=YES
|
是否允许下载
|
|