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)