ftp:File Transfer Protocol文件传输协议

传输模式

主动模式:由服务器主动连接客户端建立数据链路(PORT)

被动模式:FTP服务器等待客户端建立数据链路(PASV)

       主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

使用端口

21 用于与客户机建立命令链路

20 在主动模式下服务器使用20向客户机建立数据链路

Yum安装vsftpd软件包

[root@server1 ~]#yum install vsftpd

编辑主配置文件

[root@server1 ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES     是否允许匿名访问
local_enable=YES           是否允许本地用户访问
write_enable=YES           是否可写
local_umask=022           此目录下本地用户的umask
dirmessage_enable=YES      
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
userlist_enable=YES       是否启用userlist列表
tcp_wrappers=YES
listen=YES
download_enable           是否允许下载
userlist_enable        是否启用user_list列表文件
max_clients       限制并发的客户端个数
max_per_ip        限制每个客户机IP的并发连接数
anon_root           匿名FTP的根目录
anon_upload_enable 是否允许上传文件
anon_mkdir_write_enable      是否允许建目录
anon_other_write_enable       其他写入控制
anon_max_rate         最大传输速度(字节/秒)
local_root            本地用户的FTP根目录
chroot_local_user      是否禁锢在主目录
local_max_rate          最大传输速率(字节/秒

重启服务

[root@server1 ~]#service vsftpd restart

编辑FTP访问限制的黑名单

[root@server1 ~]#vim /etc/vsftpd/ftpusers
# Users that arenot allowed to login via ftp

编辑ftp限制的黑白名单

[root@server1 ~]#vim /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO,only allow users in this file
# Ifuserlist_deny=YES (default), never allow users in thisfile, and
# do noteven prompt for a password.
# Note that thedefault vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users thatare denied.
在ftp主配置文件中
当userlist_deny=YES	被禁止(黑名单)
当userlist_deny=NO	被允许(白名单)

常用参数:

listen_address=192.168.0.236(指定监听IP)

ftpd_banner=this is a virtual ftp test(服务器信息欢迎信息)

anonymous_enable=yes (允许匿名登陆)

dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

local_umask=022 (ftp上本地的文件权限,默认是077)

connect_form_port_20=yes (启用ftp数据端口的数据连接)

xferlog_enable=yes (激活上传和下传的日志)

xferlog_std_format=yes (使用标准的日志格式)

pam_service_name=vsftpd (验证方式)

listen=yes (独立的vsftpd服务器)

anon_upload_enable=yes (开放上传权限)

anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)

write_enable=yes (开放本地用户写的权限)

anon_other_write_enable=yes (匿名帐号可以有删除的权限)

anon_world_readable_only=no (放开匿名用户浏览权限)

ascii_upload_enable=yes (启用上传的ascii传输方式)

ascii_download_enable=yes (启用下载的ascii传输方式)

banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)

idle_session_timeout=600(秒) (用户会话空闲后10分钟)

data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

accept_timeout=60(秒) (将客户端空闲1分钟后断)

connect_timeout=60(秒) (中断1分钟后又重新连接)

local_max_rate=50000(bite) (本地用户传输率50k)

anon_max_rate=30000(bite) (匿名用户传输率30k)

pasv_enable=YES    (开启被动模式)

pasv_min_port=50000 (将客户端的数据连接端口改在

pasv_max_port=60000 50000-60000之间)

max_clients=200 (ftp的最大连接数)

max_per_ip=4 (每ip的最大连接数)

listen_port=5555 (从5555端口进行数据连接)

local_enble=yes (本地帐户能够登陆)

write_enable=no (本地帐户登陆后无权删除和修改文件)

listen_address=N.N.N.N(监听ip)